summaryrefslogtreecommitdiff
path: root/miext/cw/cw.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2004-08-15 19:05:01 +0000
committerKeith Packard <keithp@keithp.com>2004-08-15 19:05:01 +0000
commita68f350195c1c54034f98e2b78c2c3da70044884 (patch)
tree4f8f33ab22dfcdd1708ea8fbf5d6ac20ab4db016 /miext/cw/cw.c
parent5db70ae2575e3e8669d7a66e2218ba28e8bdfa68 (diff)
Remove debugging code which did a full tree walk on every window operation
Eliminate needless (and, it turns out, dangerous) call to ChangeGC on DestroyGCPrivate. in cwSetWindowPixmap, check if the pixmap is the screen pixmap and disable the wrapper by setting the private to NULL.
Diffstat (limited to 'miext/cw/cw.c')
-rw-r--r--miext/cw/cw.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/miext/cw/cw.c b/miext/cw/cw.c
index aa32033de..c72db3809 100644
--- a/miext/cw/cw.c
+++ b/miext/cw/cw.c
@@ -164,11 +164,6 @@ cwDestroyGCPrivate(GCPtr pGC)
FreeGC(pPriv->pBackingGC, (XID)0);
setCwGC (pGC, pPriv->wrapFuncs);
xfree((pointer)pPriv);
- /* The ChangeGC and ValidateGCs on the window haven't been passed down the
- * stack, so report all state being changed.
- */
- pGC->stateChanges |= (1 << (GCLastBit + 1)) - 1;
- (*pGC->funcs->ChangeGC)(pGC, (1 << (GCLastBit + 1)) - 1);
}
/* GCFuncs wrappers. These only get used when the drawable is a window with a
@@ -747,6 +742,10 @@ cwGetWindowPixmap (WindowPtr pWin)
static void
cwSetWindowPixmap (WindowPtr pWindow, PixmapPtr pPixmap)
{
+ ScreenPtr pScreen = pWindow->drawable.pScreen;
+
+ if (pPixmap == (*pScreen->GetScreenPixmap) (pScreen))
+ pPixmap = NULL;
setCwPixmap (pWindow, pPixmap);
}