Try the following patch.

This only seems to affect applications using the CUPS v1.1 libraries - 
applications using the CUPS v1.2 libraries seem to work OK.
diff -ru gs-esp-8.15.3.dfsg.1/src/gxcht.c gs-esp-8.15.3.dfsg.1-fixed/src/gxcht.c
--- gs-esp-8.15.3.dfsg.1/src/gxcht.c	2005-01-19 15:08:41.000000000 +1100
+++ gs-esp-8.15.3.dfsg.1-fixed/src/gxcht.c	2007-12-25 19:55:36.000000000 +1100
@@ -1087,7 +1087,14 @@
     int tw = btile->size.x;
     int bx = ((ptc->tile_shift = btile->shift) == 0 ? endx :
 	      endx + lasty / btile->size.y * ptc->tile_shift) % tw;
-    int by = lasty % btile->size.y;
+    int by;
+
+    if (lasty < 0)
+    	by = btile->size.y - (-lasty % btile->size.y);
+    else
+    	by = lasty % btile->size.y;
+
+    by = lasty % btile->size.y;
 
     ptc->xoffset = bx >> 3;
     ptc->xshift = 8 - (bx & 7);

Reply via email to