diff options
author | Keith Packard <keithp@keithp.com> | 2010-04-26 17:22:21 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2010-06-05 19:23:03 -0700 |
commit | faeebead7bfcc78535757ca7acc1faf7554c03b7 (patch) | |
tree | 1a8f13a3b1ae968011efb9679bc3ed79a29020be /mi | |
parent | c865a24401f06bcf1347d8b41f736a066ab25693 (diff) |
Change the devPrivates API to require dixRegisterPrivateKey
This patch only changes the API, not the implementation of the
devPrivates infrastructure. This will permit a new devPrivates
implementation to be layed into the server without requiring
simultaneous changes in every devPrivates user.
Signed-off-by: Keith Packard <keithp@keithp.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Diffstat (limited to 'mi')
-rw-r--r-- | mi/micmap.c | 6 | ||||
-rw-r--r-- | mi/micmap.h | 4 | ||||
-rw-r--r-- | mi/midispcur.c | 22 | ||||
-rw-r--r-- | mi/miline.h | 3 | ||||
-rw-r--r-- | mi/mioverlay.c | 13 | ||||
-rw-r--r-- | mi/mipointer.c | 12 | ||||
-rw-r--r-- | mi/mipointer.h | 6 | ||||
-rw-r--r-- | mi/miscrinit.c | 12 | ||||
-rw-r--r-- | mi/misprite.c | 14 |
9 files changed, 62 insertions, 30 deletions
diff --git a/mi/micmap.c b/mi/micmap.c index dac700dc5..3effe6c76 100644 --- a/mi/micmap.c +++ b/mi/micmap.c @@ -40,8 +40,7 @@ #include "globals.h" #include "micmap.h" -static int micmapScrPrivateKeyIndex; -DevPrivateKey micmapScrPrivateKey = &micmapScrPrivateKeyIndex; +DevPrivateKeyRec micmapScrPrivateKeyRec; int miListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps) @@ -300,6 +299,9 @@ miCreateDefColormap(ScreenPtr pScreen) ColormapPtr cmap; int alloctype; + if (!dixRegisterPrivateKey(&micmapScrPrivateKeyRec, PRIVATE_SCREEN, 0)) + return FALSE; + for (pVisual = pScreen->visuals; pVisual->vid != pScreen->rootVisual; pVisual++) diff --git a/mi/micmap.h b/mi/micmap.h index 8ad94b9dd..c67710c46 100644 --- a/mi/micmap.h +++ b/mi/micmap.h @@ -9,8 +9,8 @@ #define SetInstalledmiColormap(s,c) \ (dixSetPrivate(&(s)->devPrivates, micmapScrPrivateKey, c)) -extern _X_EXPORT DevPrivateKey micmapScrPrivateKey; - +extern _X_EXPORT DevPrivateKeyRec micmapScrPrivateKeyRec; +#define micmapScrPrivateKey (&micmapScrPrivateKeyRec) typedef Bool (* miInitVisualsProcPtr)(VisualPtr *, DepthPtr *, int *, int *, int *, VisualID *, unsigned long, int, diff --git a/mi/midispcur.c b/mi/midispcur.c index a8aef926c..b41247764 100644 --- a/mi/midispcur.c +++ b/mi/midispcur.c @@ -54,18 +54,18 @@ in this Software without prior written authorization from The Open Group. # include "inputstr.h" /* per-screen private data */ -static int miDCScreenKeyIndex; -static DevPrivateKey miDCScreenKey = &miDCScreenKeyIndex; +static DevPrivateKeyRec miDCScreenKeyRec; +#define miDCScreenKey (&miDCScreenKeyRec) static Bool miDCCloseScreen(int index, ScreenPtr pScreen); /* per bits per-screen private data */ -static int miDCCursorBitsKeyIndex[MAXSCREENS]; -#define miDCCursorBitsKey(screen) (&miDCCursorBitsKeyIndex[(screen)->myNum]) +static DevPrivateKeyRec miDCCursorBitsKeyRec[MAXSCREENS]; +#define miDCCursorBitsKey(screen) (&miDCCursorBitsKeyRec[(screen)->myNum]) /* per device per-screen private data */ -static int miDCDeviceKeyIndex[MAXSCREENS]; -#define miDCDeviceKey(screen) (&miDCDeviceKeyIndex[(screen)->myNum]) +static DevPrivateKeyRec miDCDeviceKeyRec[MAXSCREENS]; +#define miDCDeviceKey(screen) (&miDCDeviceKeyRec[(screen)->myNum]) typedef struct { GCPtr pSourceGC, pMaskGC; @@ -103,11 +103,19 @@ miDCInitialize (ScreenPtr pScreen, miPointerScreenFuncPtr screenFuncs) { miDCScreenPtr pScreenPriv; + if (!dixRegisterPrivateKey(&miDCScreenKeyRec, PRIVATE_SCREEN, 0)) + return FALSE; + + if (!dixRegisterPrivateKey(&miDCDeviceKeyRec[pScreen->myNum], PRIVATE_DEVICE, 0)) + return FALSE; + + if (!dixRegisterPrivateKey(&miDCCursorBitsKeyRec[pScreen->myNum], PRIVATE_CURSOR_BITS, 0)) + return FALSE; + pScreenPriv = malloc(sizeof (miDCScreenRec)); if (!pScreenPriv) return FALSE; - pScreenPriv->CloseScreen = pScreen->CloseScreen; pScreen->CloseScreen = miDCCloseScreen; diff --git a/mi/miline.h b/mi/miline.h index b5f706dbf..ae9d113d1 100644 --- a/mi/miline.h +++ b/mi/miline.h @@ -148,7 +148,8 @@ extern _X_EXPORT void miSetZeroLineBias( #define IsXDecreasingOctant(_octant) ((_octant) & XDECREASING) #define IsYDecreasingOctant(_octant) ((_octant) & YDECREASING) -extern _X_EXPORT DevPrivateKey miZeroLineScreenKey; +extern _X_EXPORT DevPrivateKeyRec miZeroLineScreenKeyRec; +#define miZeroLineScreenKey (&miZeroLineScreenKeyRec) extern _X_EXPORT int miZeroClipLine( int /*xmin*/, diff --git a/mi/mioverlay.c b/mi/mioverlay.c index d8eb64278..aa00e234c 100644 --- a/mi/mioverlay.c +++ b/mi/mioverlay.c @@ -55,10 +55,10 @@ typedef struct { Bool copyUnderlay; } miOverlayScreenRec, *miOverlayScreenPtr; -static int miOverlayWindowKeyKeyIndex; -static DevPrivateKey miOverlayWindowKey = &miOverlayWindowKeyKeyIndex; -static int miOverlayScreenKeyIndex; -static DevPrivateKey miOverlayScreenKey = &miOverlayScreenKeyIndex; +static DevPrivateKeyRec miOverlayWindowKeyRec; +#define miOverlayWindowKey (&miOverlayWindowKeyRec) +static DevPrivateKeyRec miOverlayScreenKeyRec; +#define miOverlayScreenKey (&miOverlayScreenKeyRec) static void RebuildTree(WindowPtr); static Bool HasUnderlayChildren(WindowPtr); @@ -113,7 +113,10 @@ miInitOverlay( if(!inOverlayFunc || !transFunc) return FALSE; - if(!dixRequestPrivate(miOverlayWindowKey, sizeof(miOverlayWindowRec))) + if(!dixRegisterPrivateKey(&miOverlayWindowKeyRec, PRIVATE_WINDOW, sizeof(miOverlayWindowRec))) + return FALSE; + + if(!dixRegisterPrivateKey(&miOverlayScreenKeyRec, PRIVATE_SCREEN, 0)) return FALSE; if(!(pScreenPriv = malloc(sizeof(miOverlayScreenRec)))) diff --git a/mi/mipointer.c b/mi/mipointer.c index 296c57f5d..33bb40b89 100644 --- a/mi/mipointer.c +++ b/mi/mipointer.c @@ -40,15 +40,13 @@ in this Software without prior written authorization from The Open Group. # include "dixstruct.h" # include "inputstr.h" -static int miPointerScreenKeyIndex; -DevPrivateKey miPointerScreenKey = &miPointerScreenKeyIndex; +DevPrivateKeyRec miPointerScreenKeyRec; #define GetScreenPrivate(s) ((miPointerScreenPtr) \ dixLookupPrivate(&(s)->devPrivates, miPointerScreenKey)) #define SetupScreen(s) miPointerScreenPtr pScreenPriv = GetScreenPrivate(s) -static int miPointerPrivKeyIndex; -static DevPrivateKey miPointerPrivKey = &miPointerPrivKeyIndex; +DevPrivateKeyRec miPointerPrivKeyRec; #define MIPOINTER(dev) \ ((!IsMaster(dev) && !dev->u.master) ? \ @@ -86,6 +84,12 @@ miPointerInitialize (ScreenPtr pScreen, { miPointerScreenPtr pScreenPriv; + if (!dixRegisterPrivateKey(&miPointerScreenKeyRec, PRIVATE_SCREEN, 0)) + return FALSE; + + if (!dixRegisterPrivateKey(&miPointerPrivKeyRec, PRIVATE_DEVICE, 0)) + return FALSE; + pScreenPriv = malloc(sizeof (miPointerScreenRec)); if (!pScreenPriv) return FALSE; diff --git a/mi/mipointer.h b/mi/mipointer.h index 22575ea21..de58c07f4 100644 --- a/mi/mipointer.h +++ b/mi/mipointer.h @@ -139,6 +139,10 @@ extern _X_EXPORT void miPointerSetPosition( extern _X_EXPORT void miPointerUpdateSprite( DeviceIntPtr pDev); -extern _X_EXPORT DevPrivateKey miPointerScreenKey; +extern _X_EXPORT DevPrivateKeyRec miPointerPrivKeyRec; +#define miPointerPrivKey (&miPointerPrivKeyRec) + +extern _X_EXPORT DevPrivateKeyRec miPointerScreenKeyRec; +#define miPointerScreenKey (&miPointerScreenKeyRec) #endif /* MIPOINTER_H */ diff --git a/mi/miscrinit.c b/mi/miscrinit.c index 1b88ecbb1..ea2a0c1cd 100644 --- a/mi/miscrinit.c +++ b/mi/miscrinit.c @@ -292,21 +292,25 @@ miScreenInit( return miScreenDevPrivateInit(pScreen, width, pbits); } -static int privateKeyIndex; -static DevPrivateKey privateKey = &privateKeyIndex; +static DevPrivateKeyRec privateKeyRec; +#define privateKey (&privateKeyRec) DevPrivateKey miAllocateGCPrivateIndex(void) { + if (!dixRegisterPrivateKey(&privateKeyRec, PRIVATE_GC, 0)) + return NULL; return privateKey; } -static int miZeroLineScreenKeyIndex; -DevPrivateKey miZeroLineScreenKey = &miZeroLineScreenKeyIndex; +DevPrivateKeyRec miZeroLineScreenKeyRec; void miSetZeroLineBias(ScreenPtr pScreen, unsigned int bias) { + if (!dixRegisterPrivateKey(&miZeroLineScreenKeyRec, PRIVATE_SCREEN, 0)) + return; + dixSetPrivate(&pScreen->devPrivates, miZeroLineScreenKey, (unsigned long *)(unsigned long)bias); } diff --git a/mi/misprite.c b/mi/misprite.c index b2cf5f0be..38a6b939a 100644 --- a/mi/misprite.c +++ b/mi/misprite.c @@ -182,10 +182,10 @@ miSpriteIsDown(miCursorInfoPtr pDevCursor) * screen wrappers */ -static int miSpriteScreenKeyIndex; -static DevPrivateKey miSpriteScreenKey = &miSpriteScreenKeyIndex; -static int miSpriteDevPrivatesKeyIndex; -static DevPrivateKey miSpriteDevPrivatesKey = &miSpriteDevPrivatesKeyIndex; +static DevPrivateKeyRec miSpriteScreenKeyRec; +#define miSpriteScreenKey (&miSpriteScreenKeyRec) +static DevPrivateKeyRec miSpriteDevPrivatesKeyRec; +#define miSpriteDevPrivatesKey (&miSpriteDevPrivatesKeyRec) static Bool miSpriteCloseScreen(int i, ScreenPtr pScreen); static void miSpriteGetImage(DrawablePtr pDrawable, int sx, int sy, @@ -293,6 +293,12 @@ miSpriteInitialize (ScreenPtr pScreen, if (!DamageSetup (pScreen)) return FALSE; + if (!dixRegisterPrivateKey(&miSpriteScreenKeyRec, PRIVATE_SCREEN, 0)) + return FALSE; + + if (!dixRegisterPrivateKey(&miSpriteDevPrivatesKeyRec, PRIVATE_DEVICE, 0)) + return FALSE; + pScreenPriv = malloc(sizeof (miSpriteScreenRec)); if (!pScreenPriv) return FALSE; |