Remove the UNDRAWABLE_WINDOW macro (which was just needlessly cute) and always check ->class to decide if a window is InputOnly or InputOutput. ->type is now always either window or pixmap.
Signed-off-by: Adam Jackson <[email protected]> --- dix/dispatch.c | 3 ++- dix/window.c | 2 -- include/pixmap.h | 7 ++----- mi/miexpose.c | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/dix/dispatch.c b/dix/dispatch.c index 321bb92..0fda232 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -3048,7 +3048,8 @@ ProcQueryBestSize (ClientPtr client) rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; - if (stuff->class != CursorShape && pDraw->type == UNDRAWABLE_WINDOW) + if (stuff->class != CursorShape && pDraw->type == DRAWABLE_WINDOW && + pDraw->class == InputOnly) return BadMatch; pScreen = pDraw->pScreen; rc = XaceHook(XACE_SCREEN_ACCESS, client, pScreen, DixGetAttrAccess); diff --git a/dix/window.c b/dix/window.c index 9be7064..f18c33e 100644 --- a/dix/window.c +++ b/dix/window.c @@ -654,8 +654,6 @@ CreateWindow(Window wid, WindowPtr pParent, int x, int y, unsigned w, ; pWin->drawable.bitsPerPixel = format->bitsPerPixel; } - if (class == InputOnly) - pWin->drawable.type = (short) UNDRAWABLE_WINDOW; pWin->drawable.serialNumber = NEXT_SERIAL_NUMBER; pWin->drawable.id = wid; diff --git a/include/pixmap.h b/include/pixmap.h index b29c256..29038e5 100644 --- a/include/pixmap.h +++ b/include/pixmap.h @@ -54,7 +54,6 @@ SOFTWARE. /* types for Drawable */ #define DRAWABLE_WINDOW 0 #define DRAWABLE_PIXMAP 1 -#define UNDRAWABLE_WINDOW 2 /* flags to PaintWindow() */ #define PW_BACKGROUND 0 @@ -76,11 +75,9 @@ typedef union _PixUnion { #define EqualPixUnion(as, a, bs, b) \ ((as) == (bs) && (SamePixUnion (a, b, as))) -#define OnScreenDrawable(type) \ - (type == DRAWABLE_WINDOW) +#define OnScreenDrawable(type) (type == DRAWABLE_WINDOW) -#define WindowDrawable(type) \ - ((type == DRAWABLE_WINDOW) || (type == UNDRAWABLE_WINDOW)) +#define WindowDrawable(type) (type == DRAWABLE_WINDOW) extern _X_EXPORT PixmapPtr GetScratchPixmapHeader( ScreenPtr /*pScreen*/, diff --git a/mi/miexpose.c b/mi/miexpose.c index 94258b8..ee4590d 100644 --- a/mi/miexpose.c +++ b/mi/miexpose.c @@ -549,7 +549,7 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) DrawablePtr drawable = &pWin->drawable; #ifdef ROOTLESS - if(!drawable || drawable->type == UNDRAWABLE_WINDOW) + if(!drawable || pWin->class == InputOnly) return; if(IsFramedWindow(pWin)) { -- 1.7.3.5 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
