@@ -6,6 +6,7 @@ use crate::x;
66
77use std:: fmt;
88use std:: mem;
9+ use std:: ptr;
910
1011/// Refers to a X protocol extension.
1112#[ derive( Copy , Clone , Debug , PartialEq , Eq ) ]
@@ -283,18 +284,18 @@ pub fn cache_extensions_data(
283284 unsafe {
284285 for ext in mandatory {
285286 let ext_id = get_extension_id ( * ext) ;
286- xcb_prefetch_extension_data ( conn, ext_id as * mut _ ) ;
287+ xcb_prefetch_extension_data ( conn, ext_id) ;
287288 }
288289 for ext in optional {
289290 let ext_id = get_extension_id ( * ext) ;
290- xcb_prefetch_extension_data ( conn, ext_id as * mut _ ) ;
291+ xcb_prefetch_extension_data ( conn, ext_id) ;
291292 }
292293
293294 let mut ext_data = Vec :: new ( ) ;
294295
295296 for ext in mandatory {
296297 let ext_id = get_extension_id ( * ext) ;
297- let raw = xcb_get_extension_data ( conn, ext_id as * mut _ ) ;
298+ let raw = xcb_get_extension_data ( conn, ext_id) ;
298299 let reply = x:: QueryExtensionReply :: from_raw ( raw) ;
299300
300301 assert ! (
@@ -313,7 +314,7 @@ pub fn cache_extensions_data(
313314
314315 for ext in optional {
315316 let ext_id = get_extension_id ( * ext) ;
316- let raw = xcb_get_extension_data ( conn, ext_id as * mut _ ) ;
317+ let raw = xcb_get_extension_data ( conn, ext_id) ;
317318 let reply = x:: QueryExtensionReply :: from_raw ( raw) ;
318319
319320 if !reply. present ( ) {
@@ -337,93 +338,93 @@ pub fn cache_extensions_data(
337338 }
338339}
339340
340- unsafe fn get_extension_id ( ext : Extension ) -> & ' static mut xcb_extension_t {
341+ unsafe fn get_extension_id ( ext : Extension ) -> * mut xcb_extension_t {
341342 match ext {
342- Extension :: BigRequests => & mut crate :: bigreq:: FFI_EXT ,
343- Extension :: XcMisc => & mut crate :: xc_misc:: FFI_EXT ,
343+ Extension :: BigRequests => ptr :: addr_of_mut! ( crate :: bigreq:: FFI_EXT ) ,
344+ Extension :: XcMisc => ptr :: addr_of_mut! ( crate :: xc_misc:: FFI_EXT ) ,
344345
345346 #[ cfg( feature = "composite" ) ]
346- Extension :: Composite => & mut crate :: composite:: FFI_EXT ,
347+ Extension :: Composite => ptr :: addr_of_mut! ( crate :: composite:: FFI_EXT ) ,
347348
348349 #[ cfg( feature = "damage" ) ]
349- Extension :: Damage => & mut crate :: damage:: FFI_EXT ,
350+ Extension :: Damage => ptr :: addr_of_mut! ( crate :: damage:: FFI_EXT ) ,
350351
351352 #[ cfg( feature = "dpms" ) ]
352- Extension :: Dpms => & mut crate :: dpms:: FFI_EXT ,
353+ Extension :: Dpms => ptr :: addr_of_mut! ( crate :: dpms:: FFI_EXT ) ,
353354
354355 #[ cfg( feature = "dri2" ) ]
355- Extension :: Dri2 => & mut crate :: dri2:: FFI_EXT ,
356+ Extension :: Dri2 => ptr :: addr_of_mut! ( crate :: dri2:: FFI_EXT ) ,
356357
357358 #[ cfg( feature = "dri3" ) ]
358- Extension :: Dri3 => & mut crate :: dri3:: FFI_EXT ,
359+ Extension :: Dri3 => ptr :: addr_of_mut! ( crate :: dri3:: FFI_EXT ) ,
359360
360361 #[ cfg( feature = "ge" ) ]
361- Extension :: GenericEvent => & mut crate :: ge:: FFI_EXT ,
362+ Extension :: GenericEvent => ptr :: addr_of_mut! ( crate :: ge:: FFI_EXT ) ,
362363
363364 #[ cfg( feature = "glx" ) ]
364- Extension :: Glx => & mut crate :: glx:: FFI_EXT ,
365+ Extension :: Glx => ptr :: addr_of_mut! ( crate :: glx:: FFI_EXT ) ,
365366
366367 #[ cfg( feature = "present" ) ]
367- Extension :: Present => & mut crate :: present:: FFI_EXT ,
368+ Extension :: Present => ptr :: addr_of_mut! ( crate :: present:: FFI_EXT ) ,
368369
369370 #[ cfg( feature = "randr" ) ]
370- Extension :: RandR => & mut crate :: randr:: FFI_EXT ,
371+ Extension :: RandR => ptr :: addr_of_mut! ( crate :: randr:: FFI_EXT ) ,
371372
372373 #[ cfg( feature = "record" ) ]
373- Extension :: Record => & mut crate :: record:: FFI_EXT ,
374+ Extension :: Record => ptr :: addr_of_mut! ( crate :: record:: FFI_EXT ) ,
374375
375376 #[ cfg( feature = "render" ) ]
376- Extension :: Render => & mut crate :: render:: FFI_EXT ,
377+ Extension :: Render => ptr :: addr_of_mut! ( crate :: render:: FFI_EXT ) ,
377378
378379 #[ cfg( feature = "res" ) ]
379- Extension :: Res => & mut crate :: res:: FFI_EXT ,
380+ Extension :: Res => ptr :: addr_of_mut! ( crate :: res:: FFI_EXT ) ,
380381
381382 #[ cfg( feature = "screensaver" ) ]
382- Extension :: ScreenSaver => & mut crate :: screensaver:: FFI_EXT ,
383+ Extension :: ScreenSaver => ptr :: addr_of_mut! ( crate :: screensaver:: FFI_EXT ) ,
383384
384385 #[ cfg( feature = "shape" ) ]
385- Extension :: Shape => & mut crate :: shape:: FFI_EXT ,
386+ Extension :: Shape => ptr :: addr_of_mut! ( crate :: shape:: FFI_EXT ) ,
386387
387388 #[ cfg( feature = "shm" ) ]
388- Extension :: Shm => & mut crate :: shm:: FFI_EXT ,
389+ Extension :: Shm => ptr :: addr_of_mut! ( crate :: shm:: FFI_EXT ) ,
389390
390391 #[ cfg( feature = "sync" ) ]
391- Extension :: Sync => & mut crate :: sync:: FFI_EXT ,
392+ Extension :: Sync => ptr :: addr_of_mut! ( crate :: sync:: FFI_EXT ) ,
392393
393394 #[ cfg( feature = "xevie" ) ]
394- Extension :: Xevie => & mut crate :: xevie:: FFI_EXT ,
395+ Extension :: Xevie => ptr :: addr_of_mut! ( crate :: xevie:: FFI_EXT ) ,
395396
396397 #[ cfg( feature = "xf86dri" ) ]
397- Extension :: Xf86Dri => & mut crate :: xf86dri:: FFI_EXT ,
398+ Extension :: Xf86Dri => ptr :: addr_of_mut! ( crate :: xf86dri:: FFI_EXT ) ,
398399
399400 #[ cfg( feature = "xf86vidmode" ) ]
400- Extension :: Xf86VidMode => & mut crate :: xf86vidmode:: FFI_EXT ,
401+ Extension :: Xf86VidMode => ptr :: addr_of_mut! ( crate :: xf86vidmode:: FFI_EXT ) ,
401402
402403 #[ cfg( feature = "xfixes" ) ]
403- Extension :: XFixes => & mut crate :: xfixes:: FFI_EXT ,
404+ Extension :: XFixes => ptr :: addr_of_mut! ( crate :: xfixes:: FFI_EXT ) ,
404405
405406 #[ cfg( feature = "xinerama" ) ]
406- Extension :: Xinerama => & mut crate :: xinerama:: FFI_EXT ,
407+ Extension :: Xinerama => ptr :: addr_of_mut! ( crate :: xinerama:: FFI_EXT ) ,
407408
408409 #[ cfg( feature = "xinput" ) ]
409- Extension :: Input => & mut crate :: xinput:: FFI_EXT ,
410+ Extension :: Input => ptr :: addr_of_mut! ( crate :: xinput:: FFI_EXT ) ,
410411
411412 #[ cfg( feature = "xkb" ) ]
412- Extension :: Xkb => & mut crate :: xkb:: FFI_EXT ,
413+ Extension :: Xkb => ptr :: addr_of_mut! ( crate :: xkb:: FFI_EXT ) ,
413414
414415 #[ cfg( feature = "xprint" ) ]
415- Extension :: XPrint => & mut crate :: xprint:: FFI_EXT ,
416+ Extension :: XPrint => ptr :: addr_of_mut! ( crate :: xprint:: FFI_EXT ) ,
416417
417418 #[ cfg( feature = "xselinux" ) ]
418- Extension :: SeLinux => & mut crate :: xselinux:: FFI_EXT ,
419+ Extension :: SeLinux => ptr :: addr_of_mut! ( crate :: xselinux:: FFI_EXT ) ,
419420
420421 #[ cfg( feature = "xtest" ) ]
421- Extension :: Test => & mut crate :: xtest:: FFI_EXT ,
422+ Extension :: Test => ptr :: addr_of_mut! ( crate :: xtest:: FFI_EXT ) ,
422423
423424 #[ cfg( feature = "xv" ) ]
424- Extension :: Xv => & mut crate :: xv:: FFI_EXT ,
425+ Extension :: Xv => ptr :: addr_of_mut! ( crate :: xv:: FFI_EXT ) ,
425426
426427 #[ cfg( feature = "xvmc" ) ]
427- Extension :: XvMc => & mut crate :: xvmc:: FFI_EXT ,
428+ Extension :: XvMc => ptr :: addr_of_mut! ( crate :: xvmc:: FFI_EXT ) ,
428429 }
429430}
0 commit comments