[gs-cvs] rev 8106 - trunk/gs/src

tim at ghostscript.com tim at ghostscript.com
Thu Jul 5 11:12:59 PDT 2007


Author: tim
Date: 2007-07-05 11:12:59 -0700 (Thu, 05 Jul 2007)
New Revision: 8106

Modified:
   trunk/gs/src/gxpcmap.c
Log:
Fix for bug #689312.

DETAILS:

Ghostscript would fail with "Unrecoverable error, exit code 255" when
PaintType 2 tiling patterns were used in jobs run with GraphicsAlphaBits set
to 2 or 4. Fixed by not returning an error from pattern_accum_get_bits_rectangle
when called for a PaintType 2 pattern and the gx_device_pattern_accum bits
field is NULL as the bits field is only used with PaintType 1 patterns.

EXPECTED DIFFERENCES:

None.



Modified: trunk/gs/src/gxpcmap.c
===================================================================
--- trunk/gs/src/gxpcmap.c	2007-07-05 10:57:00 UTC (rev 8105)
+++ trunk/gs/src/gxpcmap.c	2007-07-05 18:12:59 UTC (rev 8106)
@@ -482,11 +482,16 @@
 		       gs_get_bits_params_t * params, gs_int_rect ** unread)
 {
     gx_device_pattern_accum *const padev = (gx_device_pattern_accum *) dev;
+    const gs_pattern1_instance_t *pinst = padev->instance;
 
     if (padev->bits)
 	return (*dev_proc(padev->target, get_bits_rectangle))
 	    (padev->target, prect, params, unread);
-    return_error(gs_error_Fatal); /* can't happen */
+
+	if (pinst->template.PaintType == 2)
+		return 0;
+	else
+		return_error(gs_error_Fatal); /* shouldn't happen */
 }
 
 /* ------ Color space implementation ------ */



More information about the gs-cvs mailing list