summaryrefslogtreecommitdiff
path: root/uxa
diff options
context:
space:
mode:
Diffstat (limited to 'uxa')
-rw-r--r--uxa/uxa-priv.h5
-rw-r--r--uxa/uxa.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/uxa/uxa-priv.h b/uxa/uxa-priv.h
index 36625de8..01a292e2 100644
--- a/uxa/uxa-priv.h
+++ b/uxa/uxa-priv.h
@@ -165,7 +165,12 @@ typedef struct {
(PixmapWidthPaddingInfo[d].padRoundUp+1)))
#endif
+#if HAS_DEVPRIVATEKEYREC
+extern DevPrivateKeyRec uxa_screen_index;
+#else
extern int uxa_screen_index;
+#endif
+
static inline uxa_screen_t *uxa_get_screen(ScreenPtr screen)
{
return (uxa_screen_t *) dixLookupPrivate(&screen->devPrivates,
diff --git a/uxa/uxa.c b/uxa/uxa.c
index e6f96705..19c6a2d1 100644
--- a/uxa/uxa.c
+++ b/uxa/uxa.c
@@ -39,7 +39,11 @@
#include "dixfontstr.h"
#include "uxa.h"
+#if HAS_DEVPRIVATEKEYREC
+DevPrivateKeyRec uxa_screen_index;
+#else
int uxa_screen_index;
+#endif
/**
* uxa_get_drawable_pixmap() returns a backing pixmap for a given drawable.
@@ -460,6 +464,10 @@ Bool uxa_driver_init(ScreenPtr screen, uxa_driver_t * uxa_driver)
"non-NULL\n", screen->myNum);
return FALSE;
}
+#if HAS_DIXREGISTERPRIVATEKEY
+ if (!dixRegisterPrivateKey(&uxa_screen_index, PRIVATE_SCREEN, 0))
+ return FALSE;
+#endif
uxa_screen = calloc(sizeof(uxa_screen_t), 1);
if (!uxa_screen) {