changeset 707:594827d0f3e5

Fix issue of relative path data. A absolutely location, that is used to computed respective absolutely location of relative location, must be updated after parsing every segment of a path. But, it does not. It is fixed, now.
author Thinker K.F. Li <thinker@branda.to>
date Fri, 13 Aug 2010 17:26:25 +0800
parents fdd68e69c59f
children ac9c20db953e
files src/shape_path.c
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/shape_path.c	Fri Aug 13 17:20:17 2010 +0800
+++ b/src/shape_path.c	Fri Aug 13 17:26:25 2010 +0800
@@ -626,6 +626,7 @@
 		if(p == old)
 		    return ERR;
 		*pnts = TO_ABSX;
+		x = *pnts;
 		pnts++;
 
 		SKIP_SPACE(p);
@@ -634,6 +635,7 @@
 		if(p == old)
 		    return ERR;
 		*pnts = TO_ABSY;
+		y = *pnts;
 		pnts++;
 
 		*cmds++ = toupper(cmd);
@@ -667,6 +669,7 @@
 		if(p == old)
 		    return ERR;
 		*pnts = TO_ABSX;
+		x = *pnts;
 		pnts++;
 
 		SKIP_SPACE(p);
@@ -675,6 +678,7 @@
 		if(p == old)
 		    return ERR;
 		*pnts = TO_ABSY;
+		y = *pnts;
 		pnts++;
 
 		*cmds++ = toupper(cmd);
@@ -694,6 +698,7 @@
 		if(p == old)
 		    break;
 		*pnts = TO_ABSX;
+		x = *pnts;
 		pnts++;
 
 		SKIP_SPACE(p);
@@ -702,6 +707,7 @@
 		if(p == old)
 		    return ERR;
 		*pnts = TO_ABSY;
+		y = *pnts;
 		pnts++;
 
 		*cmds++ = toupper(cmd);