diff src/shape_path.c @ 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 e95598916dfb
children 920c9e6e4214
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);