From a68f350195c1c54034f98e2b78c2c3da70044884 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 15 Aug 2004 19:05:01 +0000 Subject: 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. --- composite/compint.h | 16 +++++++++------- composite/compwindow.c | 4 +++- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'composite') diff --git a/composite/compint.h b/composite/compint.h index 78a138a74..81b4027ec 100644 --- a/composite/compint.h +++ b/composite/compint.h @@ -49,6 +49,12 @@ #include #include +/* + * enable this for debugging + + #define COMPOSITE_DEBUG + */ + typedef struct _CompClientWindow { struct _CompClientWindow *next; XID id; @@ -118,10 +124,6 @@ typedef struct _CompScreen { XID alternateVisuals[NUM_COMP_ALTERNATE_VISUALS]; } CompScreenRec, *CompScreenPtr; -#define HasCompRedirect(w) (wPixmap(w) != wPixmap(w->parent)) -#define wScreen(w) ((w)->drawable.pScreen) -#define wPixmap(w) (*(wScreen(w)->GetWindowPixmap) (w)) - extern int CompScreenPrivateIndex; extern int CompWindowPrivateIndex; extern int CompSubwindowsPrivateIndex; @@ -192,11 +194,11 @@ compScreenInit (ScreenPtr pScreen); * compwindow.c */ -#ifdef NDEBUG -#define compCheckTree(s) -#else +#ifdef COMPOSITE_DEBUG void compCheckTree (ScreenPtr pScreen); +#else +#define compCheckTree(s) #endif void diff --git a/composite/compwindow.c b/composite/compwindow.c index f630008a6..f8945bdc4 100644 --- a/composite/compwindow.c +++ b/composite/compwindow.c @@ -27,7 +27,7 @@ #endif #include "compint.h" -#ifndef NDEBUG +#ifdef COMPOSITE_DEBUG static int compCheckWindow (WindowPtr pWin, pointer data) { @@ -151,8 +151,10 @@ compPositionWindow (WindowPtr pWin, int x, int y) * compCheckRedirect (pWin); */ +#ifdef COMPOSITE_DEBUG if (pWin->redirectDraw != (pWin->viewable && (GetCompWindow(pWin) != NULL))) abort (); +#endif if (pWin->redirectDraw) { PixmapPtr pPixmap = (*pScreen->GetWindowPixmap) (pWin); -- cgit v1.2.3