Bug 689769

Summary: pksmraw output produces blank pages
Product: Ghostscript Reporter: David Woodhouse <dwmw2>
Component: RegressionAssignee: Ray Johnston <ray.johnston>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P4    
Version: 8.62   
Hardware: Other   
OS: Linux   
Customer: Word Size: ---
Attachments: prolog.ps
mozilla.ps

Description David Woodhouse 2008-03-27 05:36:19 UTC
After upgrading from ghostscript 8.61 to 8.62 I now get blank pages.

The offending commit seems to be revision 8426:
    "Fix (clist interpreter) : Skip idle compositors, step 3"

A sample command line is this:

bin/gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE -sPAPERSIZE=a4 -g9920x7016
-r1200x600 -sDEVICE=pksmraw -dCOLORSCREEN -sOutputFile=testpage.pksmraw
prolog.ps mozilla.ps
Comment 1 David Woodhouse 2008-03-27 05:36:49 UTC
Created attachment 3898 [details]
prolog.ps
Comment 2 David Woodhouse 2008-03-27 05:37:24 UTC
Created attachment 3899 [details]
mozilla.ps
Comment 3 David Woodhouse 2008-03-27 06:13:01 UTC
The offending part of the patch is in apply_create_compositor() at about line
2409 of src/gxclrast.c, where it adds 'if (code < 0) return code;' after the
create_compositor() call.

Removing those two lines (which seem to be a fix unrelated to the rest of the
patch and perhaps should have been committed separately) makes it work again.

In the test case above, it's calling gx_no_create_compositor(), which always
returns an error.
Comment 4 David Woodhouse 2008-03-27 06:40:54 UTC
Not sure whether this is a correct fix, but it's certainly sufficient to make
8.62 work again for me:

--- a/src/gxclrast.c
+++ b/src/gxclrast.c
@@ -2399,8 +2406,6 @@ static int apply_create_compositor(gx_device_clist_reader
*cdev, gs_imager_state
         rc_increment(tdev);
         *ptarget = tdev;
     }
-    if (code < 0)
-        return code;
 
     /* Perform any updates for the clist device required */
     code = pcomp->type->procs.clist_compositor_read_update(pcomp,
Comment 5 Ray Johnston 2009-02-03 12:13:02 UTC
This is fixed in 8.64 (just released) please upgrade.