diff options
author | Keith Packard <keithp@keithp.com> | 2010-06-07 13:39:11 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2010-06-10 19:15:28 -0700 |
commit | a8ec9eca850f2a7ad4c5cf31c1c011c120688496 (patch) | |
tree | b5bc031a9016f0d7854d25554fe0708dc9d19587 | |
parent | 07a093add0b7e40c4d9b9b59273e3ff9e14a88a7 (diff) |
Fix a couple more possible errors with input-only windows
Using type == DRAWABLE_WINDOW to differentiate between pixmaps and
windows isn't sufficient as input-only windows will end up in the
pixmap case. This patch changes a few more code paths to use
WindowDrawable instead.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
-rw-r--r-- | Xext/panoramiXprocs.c | 2 | ||||
-rw-r--r-- | hw/xnest/Drawable.h | 2 | ||||
-rw-r--r-- | miext/damage/damage.c | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/Xext/panoramiXprocs.c b/Xext/panoramiXprocs.c index b744e4d55..67b40304d 100644 --- a/Xext/panoramiXprocs.c +++ b/Xext/panoramiXprocs.c @@ -557,7 +557,7 @@ int PanoramiXGetGeometry(ClientPtr client) rep.width = root->pixWidth; rep.height = root->pixHeight; } else - if ((pDraw->type == UNDRAWABLE_WINDOW) || (pDraw->type == DRAWABLE_WINDOW)) + if (WindowDrawable(pDraw->type)) { WindowPtr pWin = (WindowPtr)pDraw; rep.x = pWin->origin.x - wBorderWidth (pWin); diff --git a/hw/xnest/Drawable.h b/hw/xnest/Drawable.h index d94916ecd..4268b7b83 100644 --- a/hw/xnest/Drawable.h +++ b/hw/xnest/Drawable.h @@ -19,7 +19,7 @@ is" without express or implied warranty. #include "XNPixmap.h" #define xnestDrawable(pDrawable) \ - ((pDrawable)->type == DRAWABLE_WINDOW ? \ + (WindowDrawable((pDrawable)->type) ? \ xnestWindow((WindowPtr)pDrawable) : \ xnestPixmap((PixmapPtr)pDrawable)) diff --git a/miext/damage/damage.c b/miext/damage/damage.c index 7c2f8a048..1cf0513d0 100644 --- a/miext/damage/damage.c +++ b/miext/damage/damage.c @@ -84,7 +84,7 @@ getDrawableDamageRef (DrawablePtr pDrawable) { PixmapPtr pPixmap; - if (pDrawable->type == DRAWABLE_WINDOW) + if (WindowDrawable(pDrawable->type)) { ScreenPtr pScreen = pDrawable->pScreen; @@ -300,7 +300,7 @@ damageRegionAppend (DrawablePtr pDrawable, RegionPtr pRegion, Bool clip, * Need to move everyone to screen coordinates * XXX what about off-screen pixmaps with non-zero x/y? */ - if (pDamage->pDrawable->type != DRAWABLE_WINDOW) + if (!WindowDrawable(pDamage->pDrawable->type)) { draw_x += ((PixmapPtr) pDamage->pDrawable)->screen_x; draw_y += ((PixmapPtr) pDamage->pDrawable)->screen_y; |