diff options
author | marha <marha@users.sourceforge.net> | 2010-05-04 07:14:28 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-05-04 07:14:28 +0000 |
commit | 650d418382eae64ce37765c1fbe2693a6c255ddc (patch) | |
tree | a67abd860ca75099f529fd66668f9bb86ace7370 /xorg-server/mi | |
parent | 567e9524c7a2fdabade9cdbb672a55f6a417ce15 (diff) | |
download | vcxsrv-650d418382eae64ce37765c1fbe2693a6c255ddc.tar.gz vcxsrv-650d418382eae64ce37765c1fbe2693a6c255ddc.tar.bz2 vcxsrv-650d418382eae64ce37765c1fbe2693a6c255ddc.zip |
xserver git update 4/5/2010
Diffstat (limited to 'xorg-server/mi')
-rw-r--r-- | xorg-server/mi/micmap.c | 15 | ||||
-rw-r--r-- | xorg-server/mi/micmap.h | 8 | ||||
-rw-r--r-- | xorg-server/mi/miexpose.c | 3 |
3 files changed, 17 insertions, 9 deletions
diff --git a/xorg-server/mi/micmap.c b/xorg-server/mi/micmap.c index e832be7fa..cc829fc10 100644 --- a/xorg-server/mi/micmap.c +++ b/xorg-server/mi/micmap.c @@ -40,13 +40,14 @@ #include "globals.h" #include "micmap.h" -ColormapPtr miInstalledMaps[MAXSCREENS]; +static int micmapScrPrivateKeyIndex; +DevPrivateKey micmapScrPrivateKey = &micmapScrPrivateKeyIndex; int miListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps) { - if (miInstalledMaps[pScreen->myNum]) { - *pmaps = miInstalledMaps[pScreen->myNum]->mid; + if (GetInstalledmiColormap(pScreen)) { + *pmaps = GetInstalledmiColormap(pScreen)->mid; return (1); } return 0; @@ -55,8 +56,7 @@ miListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps) void miInstallColormap(ColormapPtr pmap) { - int index = pmap->pScreen->myNum; - ColormapPtr oldpmap = miInstalledMaps[index]; + ColormapPtr oldpmap = GetInstalledmiColormap(pmap->pScreen); if(pmap != oldpmap) { @@ -65,7 +65,7 @@ miInstallColormap(ColormapPtr pmap) if(oldpmap != (ColormapPtr)None) WalkTree(pmap->pScreen, TellLostMap, (char *)&oldpmap->mid); /* Install pmap */ - miInstalledMaps[index] = pmap; + SetInstalledmiColormap(pmap->pScreen, pmap); WalkTree(pmap->pScreen, TellGainedMap, (char *)&pmap->mid); } @@ -74,8 +74,7 @@ miInstallColormap(ColormapPtr pmap) void miUninstallColormap(ColormapPtr pmap) { - int index = pmap->pScreen->myNum; - ColormapPtr curpmap = miInstalledMaps[index]; + ColormapPtr curpmap = GetInstalledmiColormap(pmap->pScreen); if(pmap == curpmap) { diff --git a/xorg-server/mi/micmap.h b/xorg-server/mi/micmap.h index 5c8448a95..8ad94b9dd 100644 --- a/xorg-server/mi/micmap.h +++ b/xorg-server/mi/micmap.h @@ -4,7 +4,13 @@ #ifndef _MICMAP_H_ #define _MICMAP_H_ -extern _X_EXPORT ColormapPtr miInstalledMaps[MAXSCREENS]; +#define GetInstalledmiColormap(s) \ + ((ColormapPtr) dixLookupPrivate(&(s)->devPrivates, micmapScrPrivateKey)) +#define SetInstalledmiColormap(s,c) \ + (dixSetPrivate(&(s)->devPrivates, micmapScrPrivateKey, c)) + +extern _X_EXPORT DevPrivateKey micmapScrPrivateKey; + typedef Bool (* miInitVisualsProcPtr)(VisualPtr *, DepthPtr *, int *, int *, int *, VisualID *, unsigned long, int, diff --git a/xorg-server/mi/miexpose.c b/xorg-server/mi/miexpose.c index 1c9c3a436..f52b49211 100644 --- a/xorg-server/mi/miexpose.c +++ b/xorg-server/mi/miexpose.c @@ -552,6 +552,9 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) DrawablePtr drawable = &pWin->drawable; #ifdef ROOTLESS + if(!drawable || drawable->type == UNDRAWABLE_WINDOW) + return; + if(IsFramedWindow(pWin)) { RootlessStartDrawing(pWin); RootlessDamageRegion(pWin, prgn); |