Bug 689769 - pksmraw output produces blank pages
pksmraw output produces blank pages
Product: Ghostscript
Classification: Unclassified
Component: Regression
Other Linux
: P4 normal
Assigned To: Ray Johnston
Bug traffic
Depends on:
  Show dependency treegraph
Reported: 2008-03-27 05:36 PDT by David Woodhouse
Modified: 2009-02-03 12:13 PST (History)
0 users

See Also:
Word Size: ---

prolog.ps (2.06 KB, text/plain)
2008-03-27 05:36 PDT, David Woodhouse
mozilla.ps (594.94 KB, text/plain)
2008-03-27 05:37 PDT, David Woodhouse

Note You need to log in before you can comment on or make changes to this bug.
Description David Woodhouse 2008-03-27 05:36:19 PDT
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 PDT
Created attachment 3898 [details]
Comment 2 David Woodhouse 2008-03-27 05:37:24 PDT
Created attachment 3899 [details]
Comment 3 David Woodhouse 2008-03-27 06:13:01 PDT
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 PDT
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
         *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 PST
This is fixed in 8.64 (just released) please upgrade.