diff -urN xf86-video-intel-2.4.97.0.orig/src/i830_exa.c xf86-video-intel-2.4.97.0/src/i830_exa.c --- xf86-video-intel-2.4.97.0.orig/src/i830_exa.c 2008-08-21 18:36:09.000000000 +0200 +++ xf86-video-intel-2.4.97.0/src/i830_exa.c 2008-09-20 23:42:31.000000000 +0200 @@ -731,12 +731,12 @@ return TRUE; } -static DevPrivateKey uxa_pixmap_key = &uxa_pixmap_key; +static int uxa_pixmap_index; static void i830_uxa_set_pixmap_bo (PixmapPtr pixmap, dri_bo *bo) { - dixSetPrivate(&pixmap->devPrivates, uxa_pixmap_key, bo); + dixSetPrivate(&pixmap->devPrivates, &uxa_pixmap_index, bo); } dri_bo * @@ -747,7 +747,7 @@ I830Ptr i830 = I830PTR(scrn); if (i830->accel == ACCEL_UXA) { - return dixLookupPrivate(&pixmap->devPrivates, uxa_pixmap_key); + return dixLookupPrivate(&pixmap->devPrivates, &uxa_pixmap_index); } else if (i830->accel == ACCEL_EXA) { struct i830_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(pixmap); @@ -879,7 +879,7 @@ ScrnInfoPtr scrn = xf86Screens[pScreen->myNum]; I830Ptr i830 = I830PTR(scrn); - if (!dixRequestPrivate(uxa_pixmap_key, 0)) + if (!dixRequestPrivate(&uxa_pixmap_index, 0)) return FALSE; i830->uxa_driver = uxa_driver_alloc(); diff -urN xf86-video-intel-2.4.97.0.orig/uxa/uxa.c xf86-video-intel-2.4.97.0/uxa/uxa.c --- xf86-video-intel-2.4.97.0.orig/uxa/uxa.c 2008-08-19 19:45:36.000000000 +0200 +++ xf86-video-intel-2.4.97.0/uxa/uxa.c 2008-09-20 23:44:36.000000000 +0200 @@ -39,7 +39,7 @@ #include "dixfontstr.h" #include "uxa.h" -DevPrivateKey uxa_screen_key = &uxa_screen_key; +int uxa_screen_index; /** * uxa_get_drawable_pixmap() returns a backing pixmap for a given drawable. @@ -422,7 +422,7 @@ uxa_screen->info = uxa_driver; - dixSetPrivate(&screen->devPrivates, uxa_screen_key, uxa_screen); + dixSetPrivate(&screen->devPrivates, &uxa_screen_index, uxa_screen); // exaDDXDriverInit(screen); diff -urN xf86-video-intel-2.4.97.0.orig/uxa/uxa-priv.h xf86-video-intel-2.4.97.0/uxa/uxa-priv.h --- xf86-video-intel-2.4.97.0.orig/uxa/uxa-priv.h 2008-08-19 19:45:36.000000000 +0200 +++ xf86-video-intel-2.4.97.0/uxa/uxa-priv.h 2008-09-20 23:43:53.000000000 +0200 @@ -155,8 +155,8 @@ (PixmapWidthPaddingInfo[d].padRoundUp+1))) #endif -extern DevPrivateKey uxa_screen_key; -#define uxa_get_screen(s) ((uxa_screen_t *)dixLookupPrivate(&(s)->devPrivates, uxa_screen_key)) +extern int uxa_screen_index; +#define uxa_get_screen(s) ((uxa_screen_t *)dixLookupPrivate(&(s)->devPrivates, &uxa_screen_index)) /** Align an offset to an arbitrary alignment */ #define UXA_ALIGN(offset, align) (((offset) + (align) - 1) - \