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

lpd at ghostscript.com lpd at ghostscript.com
Fri Dec 15 10:06:09 PST 2006


Author: lpd
Date: 2006-12-15 10:06:08 -0800 (Fri, 15 Dec 2006)
New Revision: 7511

Modified:
   trunk/gs/src/gspath.c
Log:
Fixes bug: gs_upmergepath didn't propagate the imager state current_point
members.


Modified: trunk/gs/src/gspath.c
===================================================================
--- trunk/gs/src/gspath.c	2006-12-15 01:58:02 UTC (rev 7510)
+++ trunk/gs/src/gspath.c	2006-12-15 18:06:08 UTC (rev 7511)
@@ -50,7 +50,23 @@
 int
 gs_upmergepath(gs_state * pgs)
 {
-    return gx_path_add_path(pgs->saved->path, pgs->path);
+    /*
+     * We really should be able to implement this as simply
+     *   return gx_path_add_path(pgs->saved->path, pgs->path);
+     * But because of the current_point members in the imager state,
+     * we can't.
+     */
+    gs_state *saved = pgs->saved;
+    int code;
+
+    code = gx_path_add_path(saved->path, pgs->path);
+    if (code < 0)
+	return code;
+    if (pgs->current_point_valid) {
+	saved->current_point = pgs->current_point;
+	saved->current_point_valid = true;
+    }
+    return code;
 }
 
 /* Get the current path (for internal use only). */



More information about the gs-cvs mailing list