Adding a colormap index to the InitColormapPrivate() func call. Without it
it was completely useless. test if colormap with index really exists in the list of installed maps before using it.
This commit is contained in:
parent
bbfe7bed3f
commit
0ba1559946
|
@ -358,7 +358,7 @@ InitCmapPrivFunc initPrivFunc;
|
||||||
|
|
||||||
pColormap->devPrivates = privs;
|
pColormap->devPrivates = privs;
|
||||||
|
|
||||||
if (!privs || !(*initPrivFunc)(pColormap))
|
if (!privs || !(*initPrivFunc)(pColormap,index))
|
||||||
{
|
{
|
||||||
colormapPrivateCount--;
|
colormapPrivateCount--;
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $XdotOrg$ */
|
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86cmap.c,v 1.2 2004/04/23 19:20:32 eich Exp $ */
|
||||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86cmap.c,v 1.25 2003/10/17 20:02:12 alanh Exp $ */
|
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86cmap.c,v 1.25 2003/10/17 20:02:12 alanh Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1998-2001 by The XFree86 Project, Inc.
|
* Copyright (c) 1998-2001 by The XFree86 Project, Inc.
|
||||||
|
@ -117,7 +117,7 @@ static int CMapChangeGamma(int, Gamma);
|
||||||
|
|
||||||
static void ComputeGamma(CMapScreenPtr);
|
static void ComputeGamma(CMapScreenPtr);
|
||||||
static Bool CMapAllocateColormapPrivate(ColormapPtr);
|
static Bool CMapAllocateColormapPrivate(ColormapPtr);
|
||||||
static Bool CMapInitDefMap(ColormapPtr);
|
static Bool CMapInitDefMap(ColormapPtr,int);
|
||||||
static void CMapRefreshColors(ColormapPtr, int, int*);
|
static void CMapRefreshColors(ColormapPtr, int, int*);
|
||||||
static void CMapSetOverscan(ColormapPtr, int, int *);
|
static void CMapSetOverscan(ColormapPtr, int, int *);
|
||||||
static void CMapReinstallMap(ColormapPtr);
|
static void CMapReinstallMap(ColormapPtr);
|
||||||
|
@ -211,7 +211,7 @@ Bool xf86HandleColormaps(
|
||||||
/* get the default map */
|
/* get the default map */
|
||||||
|
|
||||||
pDefMap = (ColormapPtr) LookupIDByType(pScreen->defColormap, RT_COLORMAP);
|
pDefMap = (ColormapPtr) LookupIDByType(pScreen->defColormap, RT_COLORMAP);
|
||||||
|
|
||||||
if(!CMapAllocateColormapPrivate(pDefMap)) {
|
if(!CMapAllocateColormapPrivate(pDefMap)) {
|
||||||
CMapUnwrapScreen(pScreen);
|
CMapUnwrapScreen(pScreen);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -224,7 +224,7 @@ Bool xf86HandleColormaps(
|
||||||
}
|
}
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
CMapInitDefMap(ColormapPtr cmap)
|
CMapInitDefMap(ColormapPtr cmap, int index)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -433,7 +433,8 @@ CMapInstallColormap(ColormapPtr pmap)
|
||||||
|
|
||||||
/* Important. We let the lower layers, namely DGA,
|
/* Important. We let the lower layers, namely DGA,
|
||||||
overwrite the choice of Colormap to install */
|
overwrite the choice of Colormap to install */
|
||||||
pmap = miInstalledMaps[index];
|
if (miInstalledMaps[index])
|
||||||
|
pmap = miInstalledMaps[index];
|
||||||
|
|
||||||
if(!(pScreenPriv->flags & CMAP_PALETTED_TRUECOLOR) &&
|
if(!(pScreenPriv->flags & CMAP_PALETTED_TRUECOLOR) &&
|
||||||
(pmap->pVisual->class == TrueColor) &&
|
(pmap->pVisual->class == TrueColor) &&
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2004-07-30 Egbert Eich <set EMAIL_ADDRESS environment variable>
|
||||||
|
|
||||||
|
reviewed by: <delete if not using a buddy>
|
||||||
|
|
||||||
|
* winallpriv.c: (winInitCmapPrivates):
|
||||||
|
|
||||||
2004-07-09 Alexander Gottwald <ago@freedesktop.org>
|
2004-07-09 Alexander Gottwald <ago@freedesktop.org>
|
||||||
|
|
||||||
* winconfig.c: Add entry for irish layout (ie)
|
* winconfig.c: Add entry for irish layout (ie)
|
||||||
|
|
|
@ -116,7 +116,7 @@ winAllocatePrivates (ScreenPtr pScreen)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
winInitCmapPrivates (ColormapPtr pcmap)
|
winInitCmapPrivates (ColormapPtr pcmap, int index)
|
||||||
{
|
{
|
||||||
#if CYGDEBUG
|
#if CYGDEBUG
|
||||||
winDebug ("winInitCmapPrivates\n");
|
winDebug ("winInitCmapPrivates\n");
|
||||||
|
@ -129,7 +129,9 @@ winInitCmapPrivates (ColormapPtr pcmap)
|
||||||
* anything. Perhaps I am misunderstanding the purpose
|
* anything. Perhaps I am misunderstanding the purpose
|
||||||
* of this function.
|
* of this function.
|
||||||
*/
|
*/
|
||||||
|
/* That's definitely true.
|
||||||
|
* I therefore changed the API and added the index as argument.
|
||||||
|
*/
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ extern void ResetColormapPrivates(void);
|
||||||
|
|
||||||
|
|
||||||
typedef struct _ColormapRec *ColormapPtr;
|
typedef struct _ColormapRec *ColormapPtr;
|
||||||
typedef int (*InitCmapPrivFunc)(ColormapPtr);
|
typedef int (*InitCmapPrivFunc)(ColormapPtr, int);
|
||||||
|
|
||||||
extern int AllocateColormapPrivateIndex(
|
extern int AllocateColormapPrivateIndex(
|
||||||
InitCmapPrivFunc /* initPrivFunc */);
|
InitCmapPrivFunc /* initPrivFunc */);
|
||||||
|
|
|
@ -104,7 +104,7 @@ LbxColormapPrivInit (ColormapPtr pmap)
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
LbxDefCmapPrivInit (ColormapPtr pmap)
|
LbxDefCmapPrivInit (ColormapPtr pmap, int index)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
/* BUG: You can't do that. lbxColormapPrivIndex hasn't
|
/* BUG: You can't do that. lbxColormapPrivIndex hasn't
|
||||||
|
|
Loading…
Reference in New Issue
Block a user