dix: always NULL pGC->tile.pixmap in Create{Scratch}GC.

This commit is contained in:
Maarten Maathuis 2009-02-08 18:59:17 +01:00
parent 6fd8fe9cb9
commit 1cb5afdf1e
2 changed files with 3 additions and 3 deletions

View File

@ -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;

View File

@ -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;