mi: track screens' installed colormaps as screen privates
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Jamey Sharp <jamey@minilop.net>
This commit is contained in:
parent
a2c716eaf6
commit
a94f5455c7
15
mi/micmap.c
15
mi/micmap.c
|
@ -40,13 +40,14 @@
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "micmap.h"
|
#include "micmap.h"
|
||||||
|
|
||||||
ColormapPtr miInstalledMaps[MAXSCREENS];
|
static int micmapScrPrivateKeyIndex;
|
||||||
|
DevPrivateKey micmapScrPrivateKey = &micmapScrPrivateKeyIndex;
|
||||||
|
|
||||||
int
|
int
|
||||||
miListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps)
|
miListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps)
|
||||||
{
|
{
|
||||||
if (miInstalledMaps[pScreen->myNum]) {
|
if (GetInstalledmiColormap(pScreen)) {
|
||||||
*pmaps = miInstalledMaps[pScreen->myNum]->mid;
|
*pmaps = GetInstalledmiColormap(pScreen)->mid;
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -55,8 +56,7 @@ miListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps)
|
||||||
void
|
void
|
||||||
miInstallColormap(ColormapPtr pmap)
|
miInstallColormap(ColormapPtr pmap)
|
||||||
{
|
{
|
||||||
int index = pmap->pScreen->myNum;
|
ColormapPtr oldpmap = GetInstalledmiColormap(pmap->pScreen);
|
||||||
ColormapPtr oldpmap = miInstalledMaps[index];
|
|
||||||
|
|
||||||
if(pmap != oldpmap)
|
if(pmap != oldpmap)
|
||||||
{
|
{
|
||||||
|
@ -65,7 +65,7 @@ miInstallColormap(ColormapPtr pmap)
|
||||||
if(oldpmap != (ColormapPtr)None)
|
if(oldpmap != (ColormapPtr)None)
|
||||||
WalkTree(pmap->pScreen, TellLostMap, (char *)&oldpmap->mid);
|
WalkTree(pmap->pScreen, TellLostMap, (char *)&oldpmap->mid);
|
||||||
/* Install pmap */
|
/* Install pmap */
|
||||||
miInstalledMaps[index] = pmap;
|
SetInstalledmiColormap(pmap->pScreen, pmap);
|
||||||
WalkTree(pmap->pScreen, TellGainedMap, (char *)&pmap->mid);
|
WalkTree(pmap->pScreen, TellGainedMap, (char *)&pmap->mid);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -74,8 +74,7 @@ miInstallColormap(ColormapPtr pmap)
|
||||||
void
|
void
|
||||||
miUninstallColormap(ColormapPtr pmap)
|
miUninstallColormap(ColormapPtr pmap)
|
||||||
{
|
{
|
||||||
int index = pmap->pScreen->myNum;
|
ColormapPtr curpmap = GetInstalledmiColormap(pmap->pScreen);
|
||||||
ColormapPtr curpmap = miInstalledMaps[index];
|
|
||||||
|
|
||||||
if(pmap == curpmap)
|
if(pmap == curpmap)
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,7 +4,13 @@
|
||||||
#ifndef _MICMAP_H_
|
#ifndef _MICMAP_H_
|
||||||
#define _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 *,
|
typedef Bool (* miInitVisualsProcPtr)(VisualPtr *, DepthPtr *, int *, int *,
|
||||||
int *, VisualID *, unsigned long, int,
|
int *, VisualID *, unsigned long, int,
|
||||||
|
|
Loading…
Reference in New Issue