summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-06-07 13:39:11 -0700
committerKeith Packard <keithp@keithp.com>2010-06-10 19:15:28 -0700
commita8ec9eca850f2a7ad4c5cf31c1c011c120688496 (patch)
treeb5bc031a9016f0d7854d25554fe0708dc9d19587
parent07a093add0b7e40c4d9b9b59273e3ff9e14a88a7 (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.c2
-rw-r--r--hw/xnest/Drawable.h2
-rw-r--r--miext/damage/damage.c4
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;