dix: always NULL pGC->tile.pixmap in Create{Scratch}GC.
This commit is contained in:
parent
6fd8fe9cb9
commit
1cb5afdf1e
5
dix/gc.c
5
dix/gc.c
|
@ -602,6 +602,8 @@ CreateGC(DrawablePtr pDrawable, BITS32 mask, XID *pval, int *pStatus,
|
|||
pGC->fillStyle = FillSolid;
|
||||
pGC->fillRule = EvenOddRule;
|
||||
pGC->arcMode = ArcPieSlice;
|
||||
pGC->tile.pixel = 0;
|
||||
pGC->tile.pixmap = NullPixmap;
|
||||
if (mask & GCForeground)
|
||||
{
|
||||
/*
|
||||
|
@ -609,12 +611,10 @@ CreateGC(DrawablePtr pDrawable, BITS32 mask, XID *pval, int *pStatus,
|
|||
* and snags the Foreground value to create a pseudo default-tile
|
||||
*/
|
||||
pGC->tileIsPixel = FALSE;
|
||||
pGC->tile.pixmap = NullPixmap;
|
||||
}
|
||||
else
|
||||
{
|
||||
pGC->tileIsPixel = TRUE;
|
||||
pGC->tile.pixel = 0;
|
||||
}
|
||||
|
||||
pGC->patOrg.x = 0;
|
||||
|
@ -932,6 +932,7 @@ CreateScratchGC(ScreenPtr pScreen, unsigned depth)
|
|||
pGC->font->refcnt++;
|
||||
pGC->tileIsPixel = TRUE;
|
||||
pGC->tile.pixel = 0;
|
||||
pGC->tile.pixmap = NullPixmap;
|
||||
pGC->stipple = NullPixmap;
|
||||
pGC->patOrg.x = 0;
|
||||
pGC->patOrg.y = 0;
|
||||
|
|
|
@ -694,7 +694,6 @@ exaValidateGC(GCPtr pGC,
|
|||
|
||||
/* Either of these conditions is enough to trigger access to a tile pixmap. */
|
||||
/* With pGC->tileIsPixel == 1, you run the risk of dereferencing an invalid tile pixmap pointer. */
|
||||
/* XXX: find out who is forgetting to NULL these tile pixmap pointers. */
|
||||
if (pGC->fillStyle == FillTiled || ((changes & GCTile) && !pGC->tileIsPixel)) {
|
||||
pTile = pGC->tile.pixmap;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user