It seems I hit "undo" one time too many before generating the previous patch - try this one instead.
Binary files gs-esp-8.15.3.dfsg.1.orig/bin/gs-esp and gs-esp-8.15.3.dfsg.1/bin/gs-esp differ Binary files gs-esp-8.15.3.dfsg.1.orig/obj/gxcht.o and gs-esp-8.15.3.dfsg.1/obj/gxcht.o differ diff -ru gs-esp-8.15.3.dfsg.1.orig/src/gxcht.c gs-esp-8.15.3.dfsg.1/src/gxcht.c --- gs-esp-8.15.3.dfsg.1.orig/src/gxcht.c 2007-12-27 09:39:57.000000000 +1100 +++ gs-esp-8.15.3.dfsg.1/src/gxcht.c 2007-12-27 10:57:54.000000000 +1100 @@ -1087,7 +1087,18 @@ 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); + if (by == btile->size.y) + by = 0; + } + else + { + by = lasty % btile->size.y; + } ptc->xoffset = bx >> 3; ptc->xshift = 8 - (bx & 7); Only in gs-esp-8.15.3.dfsg.1/src: .gxcht.c.swp