Replace dixChangeGC with calls directly to the right variant.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Jamey Sharp 2010-05-07 19:38:05 -07:00
parent 2d7eb4a19b
commit 6a84cd9434
26 changed files with 104 additions and 121 deletions

View File

@ -501,7 +501,7 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)
val.val = IncludeInferiors; val.val = IncludeInferiors;
ValidateGC(&pPixmap->drawable, pGC); ValidateGC(&pPixmap->drawable, pGC);
dixChangeGC (serverClient, pGC, GCSubwindowMode, NULL, &val); ChangeGC (serverClient, pGC, GCSubwindowMode, &val);
(*pGC->ops->CopyArea) (&pParent->drawable, (*pGC->ops->CopyArea) (&pParent->drawable,
&pPixmap->drawable, &pPixmap->drawable,
pGC, pGC,

View File

@ -1283,7 +1283,7 @@ DbeSetupBackgroundPainter(WindowPtr pWin, GCPtr pGC)
return(FALSE); return(FALSE);
} }
return dixChangeGC(NullClient, pGC, gcmask, NULL, gcvalues) == 0; return ChangeGC(NullClient, pGC, gcmask, gcvalues) == 0;
} /* DbeSetupBackgroundPainter() */ } /* DbeSetupBackgroundPainter() */

View File

@ -1537,7 +1537,7 @@ ProcChangeGC(ClientPtr client)
if (len != Ones(stuff->mask)) if (len != Ones(stuff->mask))
return BadLength; return BadLength;
result = dixChangeGC(client, pGC, stuff->mask, (CARD32 *) &stuff[1], 0); result = ChangeGCXIDs(client, pGC, stuff->mask, (CARD32 *) &stuff[1]);
if (client->noClientException != Success) if (client->noClientException != Success)
return(client->noClientException); return(client->noClientException);
else else

View File

@ -1263,7 +1263,7 @@ doPolyText(ClientPtr client, PTclosurePtr c)
{ {
ChangeGCVal val; ChangeGCVal val;
val.ptr = pFont; val.ptr = pFont;
dixChangeGC(NullClient, c->pGC, GCFont, NULL, &val); ChangeGC(NullClient, c->pGC, GCFont, &val);
ValidateGC(c->pDraw, c->pGC); ValidateGC(c->pDraw, c->pGC);
if (c->reqType == X_PolyText8) if (c->reqType == X_PolyText8)
c->polyText = (PolyTextPtr) c->pGC->ops->PolyText8; c->polyText = (PolyTextPtr) c->pGC->ops->PolyText8;
@ -1408,7 +1408,7 @@ bail:
{ {
ChangeGCVal val; ChangeGCVal val;
val.ptr = pFont; val.ptr = pFont;
dixChangeGC(NullClient, origGC, GCFont, NULL, &val); ChangeGC(NullClient, origGC, GCFont, &val);
ValidateGC(c->pDraw, origGC); ValidateGC(c->pDraw, origGC);
} }
@ -1427,7 +1427,7 @@ bail:
if (c->slept) if (c->slept)
{ {
ClientWakeup(c->client); ClientWakeup(c->client);
dixChangeGC(NullClient, c->pGC, clearGCmask, NULL, clearGC); ChangeGC(NullClient, c->pGC, clearGCmask, clearGC);
/* Unreference the font from the scratch GC */ /* Unreference the font from the scratch GC */
CloseFont(c->pGC->font, (Font)0); CloseFont(c->pGC->font, (Font)0);
@ -1584,7 +1584,7 @@ bail:
if (c->slept) if (c->slept)
{ {
ClientWakeup(c->client); ClientWakeup(c->client);
dixChangeGC(NullClient, c->pGC, clearGCmask, NULL, clearGC); ChangeGC(NullClient, c->pGC, clearGCmask, clearGC);
/* Unreference the font from the scratch GC */ /* Unreference the font from the scratch GC */
CloseFont(c->pGC->font, (Font)0); CloseFont(c->pGC->font, (Font)0);

View File

@ -82,48 +82,37 @@ ValidateGC(DrawablePtr pDraw, GC *pGC)
} }
/* dixChangeGC(client, pGC, mask, pC32, pUnion) /*
* ChangeGC/ChangeGCXIDs:
* *
* This function was created as part of the Security extension * The client performing the gc change must be passed so that access
* implementation. The client performing the gc change must be passed so * checks can be performed on any tiles, stipples, or fonts that are
* that access checks can be performed on any tiles, stipples, or fonts * specified. ddxen can call this too; they should normally pass
* that are specified. ddxen can call this too; they should normally * NullClient for the client since any access checking should have
* pass NullClient for the client since any access checking should have
* already been done at a higher level. * already been done at a higher level.
* *
* You can pass the list of gc values via pC32 or pUnion, but not both; * If you have any XIDs, you must use ChangeGCXIDs:
* one of them must be NULL. If you don't need to pass any pointers,
* you can use either one:
*
* example calling dixChangeGC using pC32 parameter
* *
* CARD32 v[2]; * CARD32 v[2];
* v[0] = foreground; * v[0] = FillTiled;
* v[1] = background; * v[1] = pid;
* dixChangeGC(client, pGC, GCForeground|GCBackground, v, NULL); * ChangeGCXIDs(client, pGC, GCFillStyle|GCTile, v);
* *
* example calling dixChangeGC using pUnion parameter; * However, if you need to pass a pointer to a pixmap or font, you must
* same effect as above * use ChangeGC:
*
* ChangeGCVal v[2];
* v[0].val = foreground;
* v[1].val = background;
* dixChangeGC(client, pGC, GCForeground|GCBackground, NULL, v);
*
* However, if you need to pass a pointer to a pixmap or font, you MUST
* use the pUnion parameter.
*
* example calling dixChangeGC passing pointers in the value list
* v[1].ptr is a pointer to a pixmap
* *
* ChangeGCVal v[2]; * ChangeGCVal v[2];
* v[0].val = FillTiled; * v[0].val = FillTiled;
* v[1].ptr = pPixmap; * v[1].ptr = pPixmap;
* dixChangeGC(client, pGC, GCFillStyle|GCTile, NULL, v); * ChangeGC(client, pGC, GCFillStyle|GCTile, v);
* *
* Note: we could have gotten by with just the pUnion parameter, but on * If you have neither XIDs nor pointers, you can use either function,
* 64 bit machines that would have forced us to copy the value list that * but ChangeGC will do less work.
* comes in the ChangeGC request. *
* ChangeGCVal v[2];
* v[0].val = foreground;
* v[1].val = background;
* ChangeGC(client, pGC, GCForeground|GCBackground, v);
*/ */
#define NEXTVAL(_type, _var) { \ #define NEXTVAL(_type, _var) { \
@ -133,7 +122,7 @@ ValidateGC(DrawablePtr pDraw, GC *pGC)
#define NEXT_PTR(_type, _var) { \ #define NEXT_PTR(_type, _var) { \
_var = (_type)pUnion->ptr; pUnion++; } _var = (_type)pUnion->ptr; pUnion++; }
static int int
ChangeGC(ClientPtr client, GC *pGC, BITS32 mask, ChangeGCValPtr pUnion) ChangeGC(ClientPtr client, GC *pGC, BITS32 mask, ChangeGCValPtr pUnion)
{ {
BITS32 index2; BITS32 index2;
@ -430,7 +419,7 @@ static const struct {
{ GCClipMask, RT_PIXMAP, DixReadAccess }, { GCClipMask, RT_PIXMAP, DixReadAccess },
}; };
static int int
ChangeGCXIDs(ClientPtr client, GC *pGC, BITS32 mask, CARD32 *pC32) ChangeGCXIDs(ClientPtr client, GC *pGC, BITS32 mask, CARD32 *pC32)
{ {
ChangeGCVal vals[GCLastBit + 1]; ChangeGCVal vals[GCLastBit + 1];
@ -466,14 +455,6 @@ ChangeGCXIDs(ClientPtr client, GC *pGC, BITS32 mask, CARD32 *pC32)
return ChangeGC(client, pGC, mask, vals); return ChangeGC(client, pGC, mask, vals);
} }
int
dixChangeGC(ClientPtr client, GC *pGC, BITS32 mask, CARD32 *pC32, ChangeGCValPtr pUnion)
{
if (pC32)
return ChangeGCXIDs(client, pGC, mask, pC32);
return ChangeGC(client, pGC, mask, pUnion);
}
/* CreateGC(pDrawable, mask, pval, pStatus) /* CreateGC(pDrawable, mask, pval, pStatus)
creates a default GC for the given drawable, using mask to fill creates a default GC for the given drawable, using mask to fill
in any non-default values. in any non-default values.
@ -557,7 +538,7 @@ CreateGC(DrawablePtr pDrawable, BITS32 mask, XID *pval, int *pStatus,
if (!(*pGC->pScreen->CreateGC)(pGC)) if (!(*pGC->pScreen->CreateGC)(pGC))
*pStatus = BadAlloc; *pStatus = BadAlloc;
else if (mask) else if (mask)
*pStatus = dixChangeGC(client, pGC, mask, pval, NULL); *pStatus = ChangeGCXIDs(client, pGC, mask, pval);
else else
*pStatus = Success; *pStatus = Success;
@ -600,7 +581,7 @@ CreateDefaultTile (GCPtr pGC)
tmpval[0].val = GXcopy; tmpval[0].val = GXcopy;
tmpval[1].val = pGC->tile.pixel; tmpval[1].val = pGC->tile.pixel;
tmpval[2].val = FillSolid; tmpval[2].val = FillSolid;
(void)dixChangeGC(NullClient, pgcScratch, GCFunction | GCForeground | GCFillStyle, NULL, tmpval); (void)ChangeGC(NullClient, pgcScratch, GCFunction | GCForeground | GCFillStyle, tmpval);
ValidateGC((DrawablePtr)pTile, pgcScratch); ValidateGC((DrawablePtr)pTile, pgcScratch);
rect.x = 0; rect.x = 0;
rect.y = 0; rect.y = 0;
@ -941,7 +922,7 @@ CreateDefaultStipple(int screenNum)
(*pScreen->DestroyPixmap)(pScreen->PixmapPerDepth[0]); (*pScreen->DestroyPixmap)(pScreen->PixmapPerDepth[0]);
return FALSE; return FALSE;
} }
(void)dixChangeGC(NullClient, pgcScratch, GCFunction|GCForeground|GCFillStyle, NULL, tmpval); (void)ChangeGC(NullClient, pgcScratch, GCFunction|GCForeground|GCFillStyle, tmpval);
ValidateGC((DrawablePtr)pScreen->PixmapPerDepth[0], pgcScratch); ValidateGC((DrawablePtr)pScreen->PixmapPerDepth[0], pgcScratch);
rect.x = 0; rect.x = 0;
rect.y = 0; rect.y = 0;

View File

@ -118,14 +118,13 @@ ServerBitsFromGlyph(FontPtr pfont, unsigned ch, CursorMetricPtr cm, unsigned cha
gcval[0].val = GXcopy; gcval[0].val = GXcopy;
gcval[1].val = 0; gcval[1].val = 0;
gcval[2].ptr = (pointer)pfont; gcval[2].ptr = (pointer)pfont;
dixChangeGC(NullClient, pGC, GCFunction | GCForeground | GCFont, ChangeGC(NullClient, pGC, GCFunction | GCForeground | GCFont, gcval);
NULL, gcval);
ValidateGC((DrawablePtr)ppix, pGC); ValidateGC((DrawablePtr)ppix, pGC);
(*pGC->ops->PolyFillRect)((DrawablePtr)ppix, pGC, 1, &rect); (*pGC->ops->PolyFillRect)((DrawablePtr)ppix, pGC, 1, &rect);
/* draw the glyph */ /* draw the glyph */
gcval[0].val = 1; gcval[0].val = 1;
dixChangeGC(NullClient, pGC, GCForeground, NULL, gcval); ChangeGC(NullClient, pGC, GCForeground, gcval);
ValidateGC((DrawablePtr)ppix, pGC); ValidateGC((DrawablePtr)ppix, pGC);
(*pGC->ops->PolyText16)((DrawablePtr)ppix, pGC, cm->xhot, cm->yhot, (*pGC->ops->PolyText16)((DrawablePtr)ppix, pGC, cm->xhot, cm->yhot,
1, (unsigned short *)char2b); 1, (unsigned short *)char2b);

View File

@ -328,7 +328,7 @@ MakeRootTile(WindowPtr pWin)
attributes[0].val = pScreen->whitePixel; attributes[0].val = pScreen->whitePixel;
attributes[1].val = pScreen->blackPixel; attributes[1].val = pScreen->blackPixel;
(void)dixChangeGC(NullClient, pGC, GCForeground | GCBackground, NULL, attributes); (void)ChangeGC(NullClient, pGC, GCForeground | GCBackground, attributes);
} }
ValidateGC((DrawablePtr)pWin->background.pixmap, pGC); ValidateGC((DrawablePtr)pWin->background.pixmap, pGC);
@ -3763,8 +3763,7 @@ DrawLogo(WindowPtr pWin)
} else { } else {
back[0].val = 0; back[0].val = 0;
back[1].val = 0; back[1].val = 0;
dixChangeGC(NullClient, pGC, GCTileStipXOrigin|GCTileStipYOrigin, ChangeGC(NullClient, pGC, GCTileStipXOrigin|GCTileStipYOrigin, back);
NULL, back);
back[0].val = FillTiled; back[0].val = FillTiled;
back[1].ptr = pWin->background.pixmap; back[1].ptr = pWin->background.pixmap;
bmask = GCFillStyle|GCTile; bmask = GCFillStyle|GCTile;
@ -3802,7 +3801,7 @@ DrawLogo(WindowPtr pWin)
poly[1].x = x + size-d31; poly[1].y = y; poly[1].x = x + size-d31; poly[1].y = y;
poly[2].x = x + 0; poly[2].y = y + size; poly[2].x = x + 0; poly[2].y = y + size;
poly[3].x = x + d31; poly[3].y = y + size; poly[3].x = x + d31; poly[3].y = y + size;
dixChangeGC(NullClient, pGC, fmask, NULL, fore); ChangeGC(NullClient, pGC, fmask, fore);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
(*pGC->ops->FillPolygon)(pDraw, pGC, Convex, CoordModeOrigin, 4, poly); (*pGC->ops->FillPolygon)(pDraw, pGC, Convex, CoordModeOrigin, 4, poly);
@ -3821,7 +3820,7 @@ DrawLogo(WindowPtr pWin)
poly[1].x = x + size / 2; poly[1].y = y + size/2; poly[1].x = x + size / 2; poly[1].y = y + size/2;
poly[2].x = x + (size/2)+(d31-(d31/2)); poly[2].y = y + size/2; poly[2].x = x + (size/2)+(d31-(d31/2)); poly[2].y = y + size/2;
poly[3].x = x + d31; poly[3].y = y + size; poly[3].x = x + d31; poly[3].y = y + size;
dixChangeGC(NullClient, pGC, bmask, NULL, back); ChangeGC(NullClient, pGC, bmask, back);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
(*pGC->ops->FillPolygon)(pDraw, pGC, Convex, CoordModeOrigin, 4, poly); (*pGC->ops->FillPolygon)(pDraw, pGC, Convex, CoordModeOrigin, 4, poly);
@ -3860,7 +3859,7 @@ DrawLogo(WindowPtr pWin)
poly[1].x = x + size/4; poly[1].y = y; poly[1].x = x + size/4; poly[1].y = y;
poly[2].x = x + size; poly[2].y = y + size; poly[2].x = x + size; poly[2].y = y + size;
poly[3].x = x + size - size/4; poly[3].y = y + size; poly[3].x = x + size - size/4; poly[3].y = y + size;
dixChangeGC(NullClient, pGC, fmask, NULL, fore); ChangeGC(NullClient, pGC, fmask, fore);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
(*pGC->ops->FillPolygon)(pDraw, pGC, Convex, CoordModeOrigin, 4, poly); (*pGC->ops->FillPolygon)(pDraw, pGC, Convex, CoordModeOrigin, 4, poly);
@ -3878,7 +3877,7 @@ DrawLogo(WindowPtr pWin)
poly[1].x = x + size-( thin+gap); poly[1].y = y; poly[1].x = x + size-( thin+gap); poly[1].y = y;
poly[2].x = x + thin; poly[2].y = y + size; poly[2].x = x + thin; poly[2].y = y + size;
poly[3].x = x + thin + gap; poly[3].y = y + size; poly[3].x = x + thin + gap; poly[3].y = y + size;
dixChangeGC(NullClient, pGC, bmask, NULL, back); ChangeGC(NullClient, pGC, bmask, back);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
(*pGC->ops->FillPolygon)(pDraw, pGC, Convex, CoordModeOrigin, 4, poly); (*pGC->ops->FillPolygon)(pDraw, pGC, Convex, CoordModeOrigin, 4, poly);

View File

@ -252,7 +252,7 @@ fbSetFg (DrawablePtr pDrawable,
{ {
ChangeGCVal val; ChangeGCVal val;
val.val = fg; val.val = fg;
dixChangeGC (NullClient, pGC, GCForeground, NULL, &val); ChangeGC (NullClient, pGC, GCForeground, &val);
ValidateGC (pDrawable, pGC); ValidateGC (pDrawable, pGC);
} }
} }

View File

@ -327,9 +327,9 @@ __glXDRIscreenCreateDrawable(ClientPtr client,
private->swapgc = CreateScratchGC(pScreen, pDraw->depth); private->swapgc = CreateScratchGC(pScreen, pDraw->depth);
gcvals[0].val = GXcopy; gcvals[0].val = GXcopy;
dixChangeGC(NullClient, private->gc, GCFunction, NULL, gcvals); ChangeGC(NullClient, private->gc, GCFunction, gcvals);
gcvals[1].val = FALSE; gcvals[1].val = FALSE;
dixChangeGC(NullClient, private->gc, GCFunction | GCGraphicsExposures, NULL, gcvals); ChangeGC(NullClient, private->gc, GCFunction | GCGraphicsExposures, gcvals);
private->driDrawable = private->driDrawable =
(*driScreen->swrast->createNewDrawable)(driScreen->driScreen, (*driScreen->swrast->createNewDrawable)(driScreen->driScreen,

View File

@ -107,7 +107,7 @@ ephyrPrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg)
tmpval[0].val = alu; tmpval[0].val = alu;
tmpval[1].val = pm; tmpval[1].val = pm;
tmpval[2].val = fg; tmpval[2].val = fg;
dixChangeGC(NullClient, fakexa->pGC, GCFunction | GCPlaneMask | GCForeground, NULL, tmpval); ChangeGC(NullClient, fakexa->pGC, GCFunction | GCPlaneMask | GCForeground, tmpval);
ValidateGC(&pPix->drawable, fakexa->pGC); ValidateGC(&pPix->drawable, fakexa->pGC);
@ -172,7 +172,7 @@ ephyrPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu,
tmpval[0].val = alu; tmpval[0].val = alu;
tmpval[1].val = pm; tmpval[1].val = pm;
dixChangeGC (NullClient, fakexa->pGC, GCFunction | GCPlaneMask, NULL, tmpval); ChangeGC (NullClient, fakexa->pGC, GCFunction | GCPlaneMask, tmpval);
ValidateGC(&pDst->drawable, fakexa->pGC); ValidateGC(&pDst->drawable, fakexa->pGC);

View File

@ -1892,7 +1892,7 @@ KXVPaintRegion (DrawablePtr pDraw, RegionPtr pRgn, Pixel fg)
val[0].val = fg; val[0].val = fg;
val[1].val = IncludeInferiors; val[1].val = IncludeInferiors;
dixChangeGC (NullClient, pGC, GCForeground|GCSubwindowMode, NULL, val); ChangeGC (NullClient, pGC, GCForeground|GCSubwindowMode, val);
ValidateGC (pDraw, pGC); ValidateGC (pDraw, pGC);

View File

@ -1856,7 +1856,7 @@ xf86XVFillKeyHelperDrawable (DrawablePtr pDraw, CARD32 key, RegionPtr clipboxes)
} else if (key != pGC->fgPixel){ } else if (key != pGC->fgPixel){
ChangeGCVal val; ChangeGCVal val;
val.val = key; val.val = key;
dixChangeGC(NullClient, pGC, GCForeground, NULL, &val); ChangeGC(NullClient, pGC, GCForeground, &val);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
} }
@ -1893,7 +1893,7 @@ xf86XVFillKeyHelper (ScreenPtr pScreen, CARD32 key, RegionPtr clipboxes)
gc = GetScratchGC(root->depth, pScreen); gc = GetScratchGC(root->depth, pScreen);
pval[0].val = key; pval[0].val = key;
pval[1].val = IncludeInferiors; pval[1].val = IncludeInferiors;
(void) dixChangeGC(NullClient, gc, GCForeground|GCSubwindowMode, NULL, pval); (void) ChangeGC(NullClient, gc, GCForeground|GCSubwindowMode, pval);
ValidateGC(root, gc); ValidateGC(root, gc);
rects = malloc(nbox * sizeof(xRectangle)); rects = malloc(nbox * sizeof(xRectangle));

View File

@ -1881,7 +1881,7 @@ XAAWriteBitmapToCacheLinear(
pGC = GetScratchGC(pScreenPix->drawable.depth, pScreen); pGC = GetScratchGC(pScreenPix->drawable.depth, pScreen);
gcvals[0].val = fg; gcvals[0].val = fg;
gcvals[1].val = bg; gcvals[1].val = bg;
dixChangeGC(NullClient, pGC, GCForeground | GCBackground, NULL, gcvals); ChangeGC(NullClient, pGC, GCForeground | GCBackground, gcvals);
ValidateGC((DrawablePtr)pDstPix, pGC); ValidateGC((DrawablePtr)pDstPix, pGC);
/* We've unwrapped already so these ops miss a sync */ /* We've unwrapped already so these ops miss a sync */

View File

@ -93,11 +93,16 @@ typedef union {
pointer ptr; pointer ptr;
} ChangeGCVal, *ChangeGCValPtr; } ChangeGCVal, *ChangeGCValPtr;
extern _X_EXPORT int dixChangeGC( extern int ChangeGCXIDs(
ClientPtr /*client*/,
GCPtr /*pGC*/,
BITS32 /*mask*/,
CARD32 * /*pval*/);
extern _X_EXPORT int ChangeGC(
ClientPtr /*client*/, ClientPtr /*client*/,
GCPtr /*pGC*/, GCPtr /*pGC*/,
BITS32 /*mask*/, BITS32 /*mask*/,
CARD32 * /*pval*/,
ChangeGCValPtr /*pCGCV*/); ChangeGCValPtr /*pCGCV*/);
extern _X_EXPORT GCPtr CreateGC( extern _X_EXPORT GCPtr CreateGC(

View File

@ -1043,9 +1043,9 @@ miPolyArc(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc *parcs)
gcvals[3].val = pGC->lineWidth; gcvals[3].val = pGC->lineWidth;
gcvals[4].val = pGC->capStyle; gcvals[4].val = pGC->capStyle;
gcvals[5].val = pGC->joinStyle; gcvals[5].val = pGC->joinStyle;
dixChangeGC(NullClient, pGCTo, GCFunction | ChangeGC(NullClient, pGCTo, GCFunction |
GCForeground | GCBackground | GCLineWidth | GCForeground | GCBackground | GCLineWidth |
GCCapStyle | GCJoinStyle, NULL, gcvals); GCCapStyle | GCJoinStyle, gcvals);
} }
/* allocate a 1 bit deep pixmap of the appropriate size, and /* allocate a 1 bit deep pixmap of the appropriate size, and
@ -1088,11 +1088,11 @@ miPolyArc(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc *parcs)
ChangeGCVal gcval; ChangeGCVal gcval;
if (iphase == 1) { if (iphase == 1) {
gcval.val = bg; gcval.val = bg;
dixChangeGC (NullClient, pGC, GCForeground, NULL, &gcval); ChangeGC (NullClient, pGC, GCForeground, &gcval);
ValidateGC (pDraw, pGC); ValidateGC (pDraw, pGC);
} else if (pGC->lineStyle == LineDoubleDash) { } else if (pGC->lineStyle == LineDoubleDash) {
gcval.val = fg; gcval.val = fg;
dixChangeGC (NullClient, pGC, GCForeground, NULL, &gcval); ChangeGC (NullClient, pGC, GCForeground, &gcval);
ValidateGC (pDraw, pGC); ValidateGC (pDraw, pGC);
} }
for (i = 0; i < polyArcs[iphase].narcs; i++) { for (i = 0; i < polyArcs[iphase].narcs; i++) {

View File

@ -426,7 +426,7 @@ miOpqStipDrawable(DrawablePtr pDraw, GCPtr pGC, RegionPtr prgnSrc,
} }
/* First set the whole pixmap to 0 */ /* First set the whole pixmap to 0 */
gcv[0].val = 0; gcv[0].val = 0;
dixChangeGC(NullClient, pGCT, GCBackground, NULL, gcv); ChangeGC(NullClient, pGCT, GCBackground, gcv);
ValidateGC((DrawablePtr)pPixmap, pGCT); ValidateGC((DrawablePtr)pPixmap, pGCT);
miClearDrawable((DrawablePtr)pPixmap, pGCT); miClearDrawable((DrawablePtr)pPixmap, pGCT);
ppt = pptFirst = malloc(h * sizeof(DDXPointRec)); ppt = pptFirst = malloc(h * sizeof(DDXPointRec));
@ -477,9 +477,9 @@ miOpqStipDrawable(DrawablePtr pDraw, GCPtr pGC, RegionPtr prgnSrc,
gcv[2].val = dstx - srcx; gcv[2].val = dstx - srcx;
gcv[3].val = dsty; gcv[3].val = dsty;
dixChangeGC(NullClient, pGC, ChangeGC(NullClient, pGC,
GCFillStyle | GCStipple | GCTileStipXOrigin | GCTileStipYOrigin, GCFillStyle | GCStipple | GCTileStipXOrigin | GCTileStipYOrigin,
NULL, gcv); gcv);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
/* Fill the drawable with the stipple. This will draw the /* Fill the drawable with the stipple. This will draw the
@ -495,7 +495,7 @@ miOpqStipDrawable(DrawablePtr pDraw, GCPtr pGC, RegionPtr prgnSrc,
/* Invert the tiling pixmap. This sets 0s for 1s and 1s for 0s, only /* Invert the tiling pixmap. This sets 0s for 1s and 1s for 0s, only
* within the clipping region, the part outside is still all 0s */ * within the clipping region, the part outside is still all 0s */
gcv[0].val = GXinvert; gcv[0].val = GXinvert;
dixChangeGC(NullClient, pGCT, GCFunction, NULL, gcv); ChangeGC(NullClient, pGCT, GCFunction, gcv);
ValidateGC((DrawablePtr)pPixmap, pGCT); ValidateGC((DrawablePtr)pPixmap, pGCT);
(*pGCT->ops->CopyArea)((DrawablePtr)pPixmap, (DrawablePtr)pPixmap, (*pGCT->ops->CopyArea)((DrawablePtr)pPixmap, (DrawablePtr)pPixmap,
pGCT, 0, 0, w + srcx, h, 0, 0); pGCT, 0, 0, w + srcx, h, 0, 0);
@ -507,8 +507,7 @@ miOpqStipDrawable(DrawablePtr pDraw, GCPtr pGC, RegionPtr prgnSrc,
gcv[0].val = pGC->bgPixel; gcv[0].val = pGC->bgPixel;
gcv[1].val = oldfg; gcv[1].val = oldfg;
gcv[2].ptr = pPixmap; gcv[2].ptr = pPixmap;
dixChangeGC(NullClient, pGC, GCForeground | GCBackground | GCStipple, ChangeGC(NullClient, pGC, GCForeground | GCBackground | GCStipple, gcv);
NULL, gcv);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
/* PolyFillRect might have bashed the rectangle */ /* PolyFillRect might have bashed the rectangle */
rect.x = dstx; rect.x = dstx;
@ -526,9 +525,9 @@ miOpqStipDrawable(DrawablePtr pDraw, GCPtr pGC, RegionPtr prgnSrc,
gcv[3].ptr = pStipple; gcv[3].ptr = pStipple;
gcv[4].val = oldOrg.x; gcv[4].val = oldOrg.x;
gcv[5].val = oldOrg.y; gcv[5].val = oldOrg.y;
dixChangeGC(NullClient, pGC, ChangeGC(NullClient, pGC,
GCForeground | GCBackground | GCFillStyle | GCStipple | GCForeground | GCBackground | GCFillStyle | GCStipple |
GCTileStipXOrigin | GCTileStipYOrigin, NULL, gcv); GCTileStipXOrigin | GCTileStipYOrigin, gcv);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
/* put what we hope is a smaller clip region back in the scratch gc */ /* put what we hope is a smaller clip region back in the scratch gc */
@ -679,7 +678,7 @@ miGetImage( DrawablePtr pDraw, int sx, int sy, int w, int h,
/* alu is already GXCopy */ /* alu is already GXCopy */
gcv.val = (XID)planeMask; gcv.val = (XID)planeMask;
dixChangeGC(NullClient, pGC, GCPlaneMask, NULL, &gcv); ChangeGC(NullClient, pGC, GCPlaneMask, &gcv);
ValidateGC((DrawablePtr)pPixmap, pGC); ValidateGC((DrawablePtr)pPixmap, pGC);
} }
@ -776,7 +775,7 @@ miPutImage( DrawablePtr pDraw, GCPtr pGC, int depth,
oldBg = pGC->bgPixel; oldBg = pGC->bgPixel;
gcv[0].val = (XID)~0; gcv[0].val = (XID)~0;
gcv[1].val = (XID)0; gcv[1].val = (XID)0;
dixChangeGC(NullClient, pGC, GCForeground | GCBackground, NULL, gcv); ChangeGC(NullClient, pGC, GCForeground | GCBackground, gcv);
bytesPer = (long)h * BitmapBytePad(w + leftPad); bytesPer = (long)h * BitmapBytePad(w + leftPad);
for (i = 1 << (depth-1); i != 0; i >>= 1, pImage += bytesPer) for (i = 1 << (depth-1); i != 0; i >>= 1, pImage += bytesPer)
@ -784,7 +783,7 @@ miPutImage( DrawablePtr pDraw, GCPtr pGC, int depth,
if (i & oldPlanemask) if (i & oldPlanemask)
{ {
gcv[0].val = (XID)i; gcv[0].val = (XID)i;
dixChangeGC(NullClient, pGC, GCPlaneMask, NULL, gcv); ChangeGC(NullClient, pGC, GCPlaneMask, gcv);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
(*pGC->ops->PutImage)(pDraw, pGC, 1, x, y, w, h, leftPad, (*pGC->ops->PutImage)(pDraw, pGC, 1, x, y, w, h, leftPad,
XYBitmap, (char *)pImage); XYBitmap, (char *)pImage);
@ -793,7 +792,7 @@ miPutImage( DrawablePtr pDraw, GCPtr pGC, int depth,
gcv[0].val = (XID)oldPlanemask; gcv[0].val = (XID)oldPlanemask;
gcv[1].val = (XID)oldFg; gcv[1].val = (XID)oldFg;
gcv[2].val = (XID)oldBg; gcv[2].val = (XID)oldBg;
dixChangeGC(NullClient, pGC, GCPlaneMask | GCForeground | GCBackground, NULL, gcv); ChangeGC(NullClient, pGC, GCPlaneMask | GCForeground | GCBackground, gcv);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
break; break;

View File

@ -306,7 +306,7 @@ miDCRealize (ScreenPtr pScreen, CursorPtr pCursor)
0, 0, pCursor->bits->width, pCursor->bits->height, 0, 0, pCursor->bits->width, pCursor->bits->height,
0, XYPixmap, (char *)pCursor->bits->source); 0, XYPixmap, (char *)pCursor->bits->source);
gcvals.val = GXand; gcvals.val = GXand;
dixChangeGC (NullClient, pGC, GCFunction, NULL, &gcvals); ChangeGC (NullClient, pGC, GCFunction, &gcvals);
ValidateGC ((DrawablePtr)pPriv->sourceBits, pGC); ValidateGC ((DrawablePtr)pPriv->sourceBits, pGC);
(*pGC->ops->PutImage) ((DrawablePtr)pPriv->sourceBits, pGC, 1, (*pGC->ops->PutImage) ((DrawablePtr)pPriv->sourceBits, pGC, 1,
0, 0, pCursor->bits->width, pCursor->bits->height, 0, 0, pCursor->bits->width, pCursor->bits->height,
@ -314,13 +314,13 @@ miDCRealize (ScreenPtr pScreen, CursorPtr pCursor)
/* mask bits -- pCursor->mask & ~pCursor->source */ /* mask bits -- pCursor->mask & ~pCursor->source */
gcvals.val = GXcopy; gcvals.val = GXcopy;
dixChangeGC (NullClient, pGC, GCFunction, NULL, &gcvals); ChangeGC (NullClient, pGC, GCFunction, &gcvals);
ValidateGC ((DrawablePtr)pPriv->maskBits, pGC); ValidateGC ((DrawablePtr)pPriv->maskBits, pGC);
(*pGC->ops->PutImage) ((DrawablePtr)pPriv->maskBits, pGC, 1, (*pGC->ops->PutImage) ((DrawablePtr)pPriv->maskBits, pGC, 1,
0, 0, pCursor->bits->width, pCursor->bits->height, 0, 0, pCursor->bits->width, pCursor->bits->height,
0, XYPixmap, (char *)pCursor->bits->mask); 0, XYPixmap, (char *)pCursor->bits->mask);
gcvals.val = GXandInverted; gcvals.val = GXandInverted;
dixChangeGC (NullClient, pGC, GCFunction, NULL, &gcvals); ChangeGC (NullClient, pGC, GCFunction, &gcvals);
ValidateGC ((DrawablePtr)pPriv->maskBits, pGC); ValidateGC ((DrawablePtr)pPriv->maskBits, pGC);
(*pGC->ops->PutImage) ((DrawablePtr)pPriv->maskBits, pGC, 1, (*pGC->ops->PutImage) ((DrawablePtr)pPriv->maskBits, pGC, 1,
0, 0, pCursor->bits->width, pCursor->bits->height, 0, 0, pCursor->bits->width, pCursor->bits->height,
@ -371,7 +371,7 @@ miDCPutBits (
if (sourceGC->fgPixel != source) if (sourceGC->fgPixel != source)
{ {
gcval.val = source; gcval.val = source;
dixChangeGC (NullClient, sourceGC, GCForeground, NULL, &gcval); ChangeGC (NullClient, sourceGC, GCForeground, &gcval);
} }
if (sourceGC->serialNumber != pDrawable->serialNumber) if (sourceGC->serialNumber != pDrawable->serialNumber)
ValidateGC (pDrawable, sourceGC); ValidateGC (pDrawable, sourceGC);
@ -391,7 +391,7 @@ miDCPutBits (
if (maskGC->fgPixel != mask) if (maskGC->fgPixel != mask)
{ {
gcval.val = mask; gcval.val = mask;
dixChangeGC (NullClient, maskGC, GCForeground, NULL, &gcval); ChangeGC (NullClient, maskGC, GCForeground, &gcval);
} }
if (maskGC->serialNumber != pDrawable->serialNumber) if (maskGC->serialNumber != pDrawable->serialNumber)
ValidateGC (pDrawable, maskGC); ValidateGC (pDrawable, maskGC);

View File

@ -657,7 +657,7 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
return; return;
} }
dixChangeGC (NullClient, pGC, gcmask, NULL, gcval); ChangeGC (NullClient, pGC, gcmask, gcval);
ValidateGC (drawable, pGC); ValidateGC (drawable, pGC);
numRects = REGION_NUM_RECTS(prgn); numRects = REGION_NUM_RECTS(prgn);
@ -692,9 +692,9 @@ miClearDrawable(DrawablePtr pDraw, GCPtr pGC)
rect.y = 0; rect.y = 0;
rect.width = pDraw->width; rect.width = pDraw->width;
rect.height = pDraw->height; rect.height = pDraw->height;
dixChangeGC(NullClient, pGC, GCForeground, NULL, &bg); ChangeGC(NullClient, pGC, GCForeground, &bg);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
(*pGC->ops->PolyFillRect)(pDraw, pGC, 1, &rect); (*pGC->ops->PolyFillRect)(pDraw, pGC, 1, &rect);
dixChangeGC(NullClient, pGC, GCForeground, NULL, &fg); ChangeGC(NullClient, pGC, GCForeground, &fg);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
} }

View File

@ -138,7 +138,7 @@ miPolyGlyphBlt(
gcvals[1].val = 1; gcvals[1].val = 1;
gcvals[2].val = 0; gcvals[2].val = 0;
dixChangeGC(NullClient, pGCtmp, GCFunction|GCForeground|GCBackground, NULL, gcvals); ChangeGC(NullClient, pGCtmp, GCFunction|GCForeground|GCBackground, gcvals);
nbyLine = BitmapBytePad(width); nbyLine = BitmapBytePad(width);
pbits = malloc(height*nbyLine); pbits = malloc(height*nbyLine);
@ -237,13 +237,13 @@ miImageGlyphBlt(
gcvals[0].val = GXcopy; gcvals[0].val = GXcopy;
gcvals[1].val = pGC->bgPixel; gcvals[1].val = pGC->bgPixel;
gcvals[2].val = FillSolid; gcvals[2].val = FillSolid;
dixChangeGC(NullClient, pGC, GCFunction|GCForeground|GCFillStyle, NULL, gcvals); ChangeGC(NullClient, pGC, GCFunction|GCForeground|GCFillStyle, gcvals);
ValidateGC(pDrawable, pGC); ValidateGC(pDrawable, pGC);
(*pGC->ops->PolyFillRect)(pDrawable, pGC, 1, &backrect); (*pGC->ops->PolyFillRect)(pDrawable, pGC, 1, &backrect);
/* put down the glyphs */ /* put down the glyphs */
gcvals[0].val = oldFG; gcvals[0].val = oldFG;
dixChangeGC(NullClient, pGC, GCForeground, NULL, gcvals); ChangeGC(NullClient, pGC, GCForeground, gcvals);
ValidateGC(pDrawable, pGC); ValidateGC(pDrawable, pGC);
(*pGC->ops->PolyGlyphBlt)(pDrawable, pGC, x, y, nglyph, ppci, (*pGC->ops->PolyGlyphBlt)(pDrawable, pGC, x, y, nglyph, ppci,
pglyphBase); pglyphBase);
@ -252,7 +252,7 @@ miImageGlyphBlt(
gcvals[0].val = oldAlu; gcvals[0].val = oldAlu;
gcvals[1].val = oldFG; gcvals[1].val = oldFG;
gcvals[2].val = oldFS; gcvals[2].val = oldFS;
dixChangeGC(NullClient, pGC, GCFunction|GCForeground|GCFillStyle, NULL, gcvals); ChangeGC(NullClient, pGC, GCFunction|GCForeground|GCFillStyle, gcvals);
ValidateGC(pDrawable, pGC); ValidateGC(pDrawable, pGC);
} }

View File

@ -107,7 +107,7 @@ miPolyPoint(
fsNew.val = FillSolid; fsNew.val = FillSolid;
if(pGC->fillStyle != FillSolid) if(pGC->fillStyle != FillSolid)
{ {
dixChangeGC(NullClient, pGC, GCFillStyle, NULL, &fsNew); ChangeGC(NullClient, pGC, GCFillStyle, &fsNew);
ValidateGC(pDrawable, pGC); ValidateGC(pDrawable, pGC);
} }
pwidth = pwidthInit; pwidth = pwidthInit;
@ -117,7 +117,7 @@ miPolyPoint(
if(fsOld.val != FillSolid) if(fsOld.val != FillSolid)
{ {
dixChangeGC(NullClient, pGC, GCFillStyle, NULL, &fsOld); ChangeGC(NullClient, pGC, GCFillStyle, &fsOld);
ValidateGC(pDrawable, pGC); ValidateGC(pDrawable, pGC);
} }
free(pwidthInit); free(pwidthInit);

View File

@ -115,7 +115,7 @@ fillSpans(DrawablePtr pDrawable, GCPtr pGC, unsigned long pixel, Spans *spans, S
if (pixel != oldPixel.val) if (pixel != oldPixel.val)
{ {
tmpPixel.val = (XID)pixel; tmpPixel.val = (XID)pixel;
dixChangeGC (NullClient, pGC, GCForeground, NULL, &tmpPixel); ChangeGC (NullClient, pGC, GCForeground, &tmpPixel);
ValidateGC (pDrawable, pGC); ValidateGC (pDrawable, pGC);
} }
(*pGC->ops->FillSpans) (pDrawable, pGC, spans->count, spans->points, spans->widths, TRUE); (*pGC->ops->FillSpans) (pDrawable, pGC, spans->count, spans->points, spans->widths, TRUE);
@ -123,7 +123,7 @@ fillSpans(DrawablePtr pDrawable, GCPtr pGC, unsigned long pixel, Spans *spans, S
free(spans->points); free(spans->points);
if (pixel != oldPixel.val) if (pixel != oldPixel.val)
{ {
dixChangeGC (NullClient, pGC, GCForeground, NULL, &oldPixel); ChangeGC (NullClient, pGC, GCForeground, &oldPixel);
ValidateGC (pDrawable, pGC); ValidateGC (pDrawable, pGC);
} }
} }
@ -261,13 +261,13 @@ miFillRectPolyHelper (
if (pixel != oldPixel.val) if (pixel != oldPixel.val)
{ {
tmpPixel.val = (XID)pixel; tmpPixel.val = (XID)pixel;
dixChangeGC (NullClient, pGC, GCForeground, NULL, &tmpPixel); ChangeGC (NullClient, pGC, GCForeground, &tmpPixel);
ValidateGC (pDrawable, pGC); ValidateGC (pDrawable, pGC);
} }
(*pGC->ops->PolyFillRect) (pDrawable, pGC, 1, &rect); (*pGC->ops->PolyFillRect) (pDrawable, pGC, 1, &rect);
if (pixel != oldPixel.val) if (pixel != oldPixel.val)
{ {
dixChangeGC (NullClient, pGC, GCForeground, NULL, &oldPixel); ChangeGC (NullClient, pGC, GCForeground, &oldPixel);
ValidateGC (pDrawable, pGC); ValidateGC (pDrawable, pGC);
} }
} }
@ -1504,14 +1504,14 @@ miCleanupSpanData (DrawablePtr pDrawable, GCPtr pGC, SpanDataPtr spanData)
oldPixel.val = pGC->fgPixel; oldPixel.val = pGC->fgPixel;
if (pixel.val != oldPixel.val) if (pixel.val != oldPixel.val)
{ {
dixChangeGC (NullClient, pGC, GCForeground, NULL, &pixel); ChangeGC (NullClient, pGC, GCForeground, &pixel);
ValidateGC (pDrawable, pGC); ValidateGC (pDrawable, pGC);
} }
miFillUniqueSpanGroup (pDrawable, pGC, &spanData->bgGroup); miFillUniqueSpanGroup (pDrawable, pGC, &spanData->bgGroup);
miFreeSpanGroup (&spanData->bgGroup); miFreeSpanGroup (&spanData->bgGroup);
if (pixel.val != oldPixel.val) if (pixel.val != oldPixel.val)
{ {
dixChangeGC (NullClient, pGC, GCForeground, NULL, &oldPixel); ChangeGC (NullClient, pGC, GCForeground, &oldPixel);
ValidateGC (pDrawable, pGC); ValidateGC (pDrawable, pGC);
} }
} }

View File

@ -80,7 +80,7 @@ typedef struct _LineFace {
if (pixel != oldPixel) { \ if (pixel != oldPixel) { \
ChangeGCVal gcval; \ ChangeGCVal gcval; \
gcval.val = pixel; \ gcval.val = pixel; \
dixChangeGC (NullClient, pGC, GCForeground, NULL, &gcval); \ ChangeGC (NullClient, pGC, GCForeground, &gcval); \
ValidateGC (pDrawable, pGC); \ ValidateGC (pDrawable, pGC); \
} \ } \
} }
@ -88,7 +88,7 @@ typedef struct _LineFace {
if (pixel != oldPixel) { \ if (pixel != oldPixel) { \
ChangeGCVal gcval; \ ChangeGCVal gcval; \
gcval.val = oldPixel; \ gcval.val = oldPixel; \
dixChangeGC (NullClient, pGC, GCForeground, NULL, &gcval); \ ChangeGC (NullClient, pGC, GCForeground, &gcval); \
ValidateGC (pDrawable, pGC); \ ValidateGC (pDrawable, pGC); \
} \ } \
} }

View File

@ -805,7 +805,7 @@ miZeroPolyArc(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc *parcs)
{ {
ChangeGCVal gcval; ChangeGCVal gcval;
gcval.val = pGC->bgPixel; gcval.val = pGC->bgPixel;
dixChangeGC(NullClient, pGC, GCForeground, NULL, &gcval); ChangeGC(NullClient, pGC, GCForeground, &gcval);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
} }
pts = &points[numPts >> 1]; pts = &points[numPts >> 1];
@ -835,7 +835,7 @@ miZeroPolyArc(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc *parcs)
{ {
ChangeGCVal gcval; ChangeGCVal gcval;
gcval.val = fgPixel; gcval.val = fgPixel;
dixChangeGC(NullClient, pGC, GCForeground, NULL, &gcval); ChangeGC(NullClient, pGC, GCForeground, &gcval);
ValidateGC(pDraw, pGC); ValidateGC(pDraw, pGC);
} }
} }

View File

@ -204,8 +204,8 @@ cwValidateGC(GCPtr pGC, unsigned long stateChanges, DrawablePtr pDrawable)
vals[0].val = x_off - pDrawable->x; vals[0].val = x_off - pDrawable->x;
vals[1].val = y_off - pDrawable->y; vals[1].val = y_off - pDrawable->y;
dixChangeGC(NullClient, pBackingGC, ChangeGC(NullClient, pBackingGC,
(GCClipXOrigin | GCClipYOrigin), NULL, vals); (GCClipXOrigin | GCClipYOrigin), vals);
pPriv->serialNumber = pDrawable->serialNumber; pPriv->serialNumber = pDrawable->serialNumber;
/* /*
@ -226,8 +226,8 @@ cwValidateGC(GCPtr pGC, unsigned long stateChanges, DrawablePtr pDrawable)
ChangeGCVal vals[2]; ChangeGCVal vals[2];
vals[0].val = pGC->patOrg.x + x_off; vals[0].val = pGC->patOrg.x + x_off;
vals[1].val = pGC->patOrg.y + y_off; vals[1].val = pGC->patOrg.y + y_off;
dixChangeGC(NullClient, pBackingGC, ChangeGC(NullClient, pBackingGC,
(GCTileStipXOrigin | GCTileStipYOrigin), NULL, vals); (GCTileStipXOrigin | GCTileStipYOrigin), vals);
} }
ValidateGC(pBackingDrawable, pBackingGC); ValidateGC(pBackingDrawable, pBackingGC);

View File

@ -70,7 +70,7 @@ miColorRects (PicturePtr pDst,
(*pGC->funcs->ChangeClip) (pGC, CT_REGION, pClip, 0); (*pGC->funcs->ChangeClip) (pGC, CT_REGION, pClip, 0);
} }
dixChangeGC (NullClient, pGC, mask, NULL, tmpval); ChangeGC (NullClient, pGC, mask, tmpval);
ValidateGC (pDst->pDrawable, pGC); ValidateGC (pDst->pDrawable, pGC);
if (xoff || yoff) if (xoff || yoff)
{ {
@ -149,7 +149,7 @@ miCompositeRects (CARD8 op,
gcvals[0].val = GXcopy; gcvals[0].val = GXcopy;
gcvals[1].val = pixel; gcvals[1].val = pixel;
dixChangeGC (NullClient, pGC, GCFunction | GCForeground, NULL, gcvals); ChangeGC (NullClient, pGC, GCFunction | GCForeground, gcvals);
ValidateGC (&pPixmap->drawable, pGC); ValidateGC (&pPixmap->drawable, pGC);
one.x = 0; one.x = 0;
one.y = 0; one.y = 0;

View File

@ -642,7 +642,7 @@ ProcXFixesSetGCClipRegion (ClientPtr client)
vals[0].val = stuff->xOrigin; vals[0].val = stuff->xOrigin;
vals[1].val = stuff->yOrigin; vals[1].val = stuff->yOrigin;
dixChangeGC (NullClient, pGC, GCClipXOrigin|GCClipYOrigin, NULL, vals); ChangeGC (NullClient, pGC, GCClipXOrigin|GCClipYOrigin, vals);
(*pGC->funcs->ChangeClip)(pGC, pRegion ? CT_REGION : CT_NONE, (pointer)pRegion, 0); (*pGC->funcs->ChangeClip)(pGC, pRegion ? CT_REGION : CT_NONE, (pointer)pRegion, 0);
return (client->noClientException); return (client->noClientException);