ghostscript/ghostscript-r8591.patch

27 lines
948 B
Diff

diff -up ghostscript-8.62/src/gdevbbox.c.r8591 ghostscript-8.62/src/gdevbbox.c
--- ghostscript-8.62/src/gdevbbox.c.r8591 2007-09-25 14:31:24.000000000 +0100
+++ ghostscript-8.62/src/gdevbbox.c 2008-06-23 12:56:33.000000000 +0100
@@ -755,7 +755,21 @@ bbox_fill_path(gx_device * dev, const gs
dev_proc(tdev, fill_path));
int code;
- if (!GX_DC_IS_TRANSPARENT(pdevc, bdev) && !gx_path_is_void(ppath)) {
+ if (ppath == NULL) {
+ /* A special handling of shfill with no path. */
+ gs_fixed_rect ibox;
+ gs_fixed_point adjust;
+
+ if (pcpath == NULL)
+ return 0;
+ gx_cpath_inner_box(pcpath, &ibox);
+ adjust = params->adjust;
+ if (params->fill_zero_width)
+ gx_adjust_if_empty(&ibox, &adjust);
+ adjust_box(&ibox, adjust);
+ BBOX_ADD_RECT(bdev, ibox.p.x, ibox.p.y, ibox.q.x, ibox.q.y);
+ return 0;
+ } else if (!GX_DC_IS_TRANSPARENT(pdevc, bdev) && !gx_path_is_void(ppath)) {
gs_fixed_rect ibox;
gs_fixed_point adjust;