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

leonardo at ghostscript.com leonardo at ghostscript.com
Wed Jan 23 13:13:16 PST 2008


Author: leonardo
Date: 2008-01-23 13:13:16 -0800 (Wed, 23 Jan 2008)
New Revision: 8503

Modified:
   trunk/gs/src/gdevp14.c
Log:
Fix (clist & transparency) : Inconsisting compressed color index info.

DETAILS :

Bug 689626 "Segmentation Fault using 'bit' device to clist.".

The bug was put while the custom color callback merge in revision 7795.
The color index information to be passed to the clist writer
after restoring the color information to the clist writer.
Before restoring it is set to a blending space,
which may be incompatible with the target device's color index type.

I'm unable to test this patch fully
due to no test cases for antrivial spot colors with transparency.

EXPECTED DIFFERENCES :

None.


Modified: trunk/gs/src/gdevp14.c
===================================================================
--- trunk/gs/src/gdevp14.c	2008-01-23 18:33:35 UTC (rev 8502)
+++ trunk/gs/src/gdevp14.c	2008-01-23 21:13:16 UTC (rev 8503)
@@ -4058,12 +4058,6 @@
 		    return code;
 		}
 	    case PDF14_POP_DEVICE:
-		/*
-		 * For spot colors we use a 'compressed encoding' for
-		 * gx_color_index values.  Send the related data struct
-		 * to the clist.
-		 */
-	        pdf14_clist_get_param_compressed_color_list(pdev);
 		/* Restore the color_info for the clist device */
 		pdev->target->color_info = pdev->saved_target_color_info;
 		pdev->target->procs.encode_color = pdev->saved_target_encode_color;
@@ -4072,6 +4066,12 @@
 		pdev->target->procs.get_color_comp_index = pdev->saved_target_get_color_comp_index;
 		pis->get_cmap_procs = pdev->save_get_cmap_procs;
 		gx_set_cmap_procs(pis, pdev->target);
+		/*
+		 * For spot colors we use a 'compressed encoding' for
+		 * gx_color_index values.  Send the related data struct
+		 * to the clist.
+		 */
+	        pdf14_clist_get_param_compressed_color_list(pdev);
 		/* Disable the PDF 1.4 compositor */
 		pdf14_disable_clist_device(mem, pis, dev);
 		/*



More information about the gs-cvs mailing list