summaryrefslogtreecommitdiff
path: root/net/nxserver/files/patch-nx-X11-programs-Xserver-nxagent-Pixmap.c
diff options
context:
space:
mode:
authorDirk Meyer <dinoex@FreeBSD.org>2008-04-10 10:22:19 +0000
committerDirk Meyer <dinoex@FreeBSD.org>2008-04-10 10:22:19 +0000
commitb86a05ab734949eb985d2a62267f2039c042d19d (patch)
treeda7f8649fa5f4a4aeb3981d6d77c8f0472c93bc3 /net/nxserver/files/patch-nx-X11-programs-Xserver-nxagent-Pixmap.c
parentReduce list of runtime dependencies. (diff)
- update to 2.1.0
- make portlint happier - fix missing USE_LDCONFIG PR: 112887 Obtained from: http://www.deweyonline.com/nx/freebsd.html
Diffstat (limited to 'net/nxserver/files/patch-nx-X11-programs-Xserver-nxagent-Pixmap.c')
-rw-r--r--net/nxserver/files/patch-nx-X11-programs-Xserver-nxagent-Pixmap.c100
1 files changed, 100 insertions, 0 deletions
diff --git a/net/nxserver/files/patch-nx-X11-programs-Xserver-nxagent-Pixmap.c b/net/nxserver/files/patch-nx-X11-programs-Xserver-nxagent-Pixmap.c
new file mode 100644
index 000000000000..ad00e8098bbd
--- /dev/null
+++ b/net/nxserver/files/patch-nx-X11-programs-Xserver-nxagent-Pixmap.c
@@ -0,0 +1,100 @@
+--- nx-X11/programs/Xserver/hw/nxagent/Pixmap.c.orig 2006-11-09 12:18:00.000000000 -0455
++++ nx-X11/programs/Xserver/hw/nxagent/Pixmap.c
+@@ -1115,6 +1115,7 @@
+ {
+ FatalError("XGetImage: Failed.\n");
+
++ free(data);
+ return False;
+ }
+
+@@ -1600,6 +1601,7 @@
+ fprintf(stderr, "nxagentSynchronizeDrawableData: WARNING! Failed to create the temporary GC.\n");
+ #endif
+
++ xfree(data);
+ return 0;
+ }
+
+@@ -1661,6 +1663,7 @@
+ fprintf(stderr, "nxagentSynchronizeDrawableData: WARNING! Failed to create the temporary GC.\n");
+ #endif
+
++ xfree(data);
+ return 0;
+ }
+
+@@ -1772,6 +1775,7 @@
+ int useExtents;
+ int imageLength, corruptedLength;
+ int corruptedWidth, corruptedHeight;
++ int ret = 0; /* Used by error handling. 0 is error(?, based on previous code) */
+
+ #ifdef TEST
+ static int totalLength;
+@@ -1812,7 +1816,7 @@
+ (void *) pDrawable);
+ #endif
+
+- return 0;
++ goto SR_FREE_CLIP;
+ }
+
+ /*
+@@ -1836,7 +1840,7 @@
+ (void *) pDrawable);
+ #endif
+
+- return 0;
++ goto SR_FREE_CLIP;
+ }
+ }
+
+@@ -1861,7 +1865,7 @@
+ fprintf(stderr, "nxagentSynchronizeRegion: WARNING! Failed to allocate memory for the operation.\n");
+ #endif
+
+- return 0;
++ goto SR_FREE_CLIP;
+ }
+
+ pSrcDrawable = (pDrawable -> type == DRAWABLE_PIXMAP ?
+@@ -1876,7 +1880,7 @@
+ fprintf(stderr, "nxagentSynchronizeRegion: WARNING! Failed to create the temporary GC.\n");
+ #endif
+
+- return 0;
++ goto SR_FREE_XALLOC;
+ }
+
+ ValidateGC(pDrawable, pGC);
+@@ -1935,7 +1939,7 @@
+
+ #endif
+
+- return 1;
++ goto SR_FREE_GC;
+ }
+
+ /*
+@@ -2029,13 +2033,17 @@
+
+ nxagentGCTrap = saveTrap;
+
+- nxagentFreeRegion(pDrawable, clipRegion);
++SR_FREE_GC:
++ ret = 1;
++ FreeScratchGC(pGC);
+
++SR_FREE_XALLOC:
+ xfree(data);
+
+- FreeScratchGC(pGC);
++SR_FREE_CLIP:
++ nxagentFreeRegion(pDrawable, clipRegion);
+
+- return 1;
++ return ret;
+ }
+
+ void nxagentSynchronizeBox(DrawablePtr pDrawable, BoxPtr pBox)