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

leonardo at ghostscript.com leonardo at ghostscript.com
Tue Nov 27 10:11:11 PST 2007


Author: leonardo
Date: 2007-11-27 10:11:10 -0800 (Tue, 27 Nov 2007)
New Revision: 8407

Modified:
   trunk/gs/src/gsstate.c
Log:
Fix (graphics) : Improving the setoverprint logic.

DETAILS :

Debugged with the test case of the bug 689155.

This eliminates unnecessary calls of dx_device::procs.create_compositor.
In the test case the oprator 'show' calls gs_save and gs_restore
and the latter performs unnecessary call to gs_do_set_overprint
due to overprint is set at page start. It causes a significant CPU time expense 
while clist interpretation.

We're not sure why the old code is such,
we change it as we think correct.
Will see the regression test results.
A local test gave no differences.

EXPECTED DIFFERENCES :

None.


Modified: trunk/gs/src/gsstate.c
===================================================================
--- trunk/gs/src/gsstate.c	2007-11-23 09:23:06 UTC (rev 8406)
+++ trunk/gs/src/gsstate.c	2007-11-27 18:11:10 UTC (rev 8407)
@@ -411,7 +411,7 @@
     gs_free_object(pgs->memory, saved, "gs_grestore");
 
     /* update the overprint compositor, if necessary */
-    if (prior_overprint || pgs->overprint)
+    if (prior_overprint != pgs->overprint)
         return gs_do_set_overprint(pgs);
     else
         return 0;



More information about the gs-cvs mailing list