summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Griffini <agriff@tin.it>2015-03-13 12:36:24 -0600
committerFederico Mena Quintero <federico@gnome.org>2015-03-13 13:03:04 -0600
commit9628f3da0023bfd3e919e2bfb4c2dc10ad45d9ab (patch)
treedb6d44e38cb5ba5af65452d8e3e2350818f87779
parentf8d37dfb240f0ecb90a91ce534829ec7ac279071 (diff)
downloadlibrsvg-9628f3da0023bfd3e919e2bfb4c2dc10ad45d9ab.tar.gz
bgo#738367 - Fix handling of V/v/H/h commands in path
These were not setting one of the x/y components for the reflection point to be used in smooth curves. https://bugzilla.gnome.org/show_bug.cgi?id=738367
-rw-r--r--rsvg-path.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/rsvg-path.c b/rsvg-path.c
index 56a5b962..1a5cc5cf 100644
--- a/rsvg-path.c
+++ b/rsvg-path.c
@@ -429,6 +429,7 @@ rsvg_parse_path_do_cmd (RSVGParsePathCtx * ctx, gboolean final)
if (ctx->param == 1) {
rsvg_path_builder_line_to (&ctx->builder, ctx->params[0], ctx->cp.point.y);
ctx->cp.point.x = ctx->rp.point.x = ctx->params[0];
+ ctx->rp.point.y = ctx->cp.point.y;
ctx->param = 0;
}
break;
@@ -436,6 +437,7 @@ rsvg_parse_path_do_cmd (RSVGParsePathCtx * ctx, gboolean final)
/* vertical lineto */
if (ctx->param == 1) {
rsvg_path_builder_line_to (&ctx->builder, ctx->cp.point.x, ctx->params[0]);
+ ctx->rp.point.x = ctx->cp.point.x;
ctx->cp.point.y = ctx->rp.point.y = ctx->params[0];
ctx->param = 0;
}