aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Drawable.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Drawable.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Drawable.c29
1 files changed, 18 insertions, 11 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Drawable.c b/nx-X11/programs/Xserver/hw/nxagent/Drawable.c
index 121d54953..a44818f4c 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Drawable.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Drawable.c
@@ -117,7 +117,7 @@ void nxagentExposeBackgroundPredicate(void *p0, XID x1, void *p2);
* Imported from NXresource.c
*/
-extern int nxagentFindClientResource(int, RESTYPE, void *);
+extern Bool nxagentFindClientResource(int, RESTYPE, void *);
unsigned long nxagentGetColor(DrawablePtr pDrawable, int xPixel, int yPixel);
unsigned long nxagentGetDrawableColor(DrawablePtr pDrawable);
@@ -282,6 +282,13 @@ int nxagentSynchronizeDrawableData(DrawablePtr pDrawable, unsigned int breakMask
static int totalLength;
static int totalReconnectedPixmaps;
+ int width = pDrawable -> width;
+ int height = pDrawable -> height;
+ int depth = pDrawable -> depth;
+
+ unsigned int format = (depth == 1) ? XYPixmap : ZPixmap;
+ int length = nxagentImageLength(width, height, format, 0, depth);
+
totalLength += length;
totalReconnectedPixmaps++;
@@ -1351,12 +1358,12 @@ FIXME: All drawables should be set as synchronized and never marked as
*/
if (nxagentSynchronization.pDrawable != NULL &&
- nxagentFindClientResource(serverClient -> index, RT_NX_CORR_WINDOW,
- nxagentSynchronization.pDrawable) == 0 &&
- nxagentFindClientResource(serverClient -> index, RT_NX_CORR_BACKGROUND,
- nxagentSynchronization.pDrawable) == 0 &&
- nxagentFindClientResource(serverClient -> index, RT_NX_CORR_PIXMAP,
- nxagentSynchronization.pDrawable) == 0)
+ !nxagentFindClientResource(serverClient -> index, RT_NX_CORR_WINDOW,
+ nxagentSynchronization.pDrawable) &&
+ !nxagentFindClientResource(serverClient -> index, RT_NX_CORR_BACKGROUND,
+ nxagentSynchronization.pDrawable) &&
+ !nxagentFindClientResource(serverClient -> index, RT_NX_CORR_PIXMAP,
+ nxagentSynchronization.pDrawable))
{
#ifdef TEST
fprintf(stderr, "nxagentSynchronizationLoop: Synchronization drawable [%p] removed from resources.\n",
@@ -1531,11 +1538,11 @@ void nxagentMarkCorruptedRegion(DrawablePtr pDrawable, RegionPtr pRegion)
{
#ifdef TEST
- x = pRegion -> extents.x1;
- y = pRegion -> extents.y1;
+ int x = pRegion -> extents.x1;
+ int y = pRegion -> extents.y1;
- width = pRegion -> extents.x2 - pRegion -> extents.x1;
- height = pRegion -> extents.y2 - pRegion -> extents.y1;
+ int width = pRegion -> extents.x2 - pRegion -> extents.x1;
+ int height = pRegion -> extents.y2 - pRegion -> extents.y1;
fprintf(stderr, "nxagentMarkCorruptedRegion: Partly invalidating %s [%p] with "
"coordinates [%d,%d][%d,%d].\n", nxagentDrawableType(pDrawable),