[2/3] gdiplus: Properly set the first point to start when widening open figures.
Vincent Povirk
madewokherd at gmail.com
Thu Sep 20 16:51:31 CDT 2012
-------------- next part --------------
From 331e8e041436b6e5ca6d802f700252d5d835f2ec Mon Sep 17 00:00:00 2001
From: Vincent Povirk <vincent at codeweavers.com>
Date: Thu, 20 Sep 2012 16:44:47 -0500
Subject: [PATCH 2/3] gdiplus: Properly set the first point to start when
widening open figures.
---
dlls/gdiplus/graphicspath.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/gdiplus/graphicspath.c b/dlls/gdiplus/graphicspath.c
index 0515175..8b3a132 100644
--- a/dlls/gdiplus/graphicspath.c
+++ b/dlls/gdiplus/graphicspath.c
@@ -1806,15 +1806,16 @@ static void widen_open_figure(GpPath *path, GpPen *pen, int start, int end,
path_list_node_t **last_point)
{
int i;
+ path_list_node_t *prev_point;
if (end <= start)
return;
+ prev_point = *last_point;
+
widen_cap(&path->pathdata.Points[start], &path->pathdata.Points[start+1],
pen, pen->startcap, pen->customstart, FALSE, TRUE, last_point);
- (*last_point)->type = PathPointTypeStart;
-
for (i=start+1; i<end; i++)
widen_joint(&path->pathdata.Points[i-1], &path->pathdata.Points[i],
&path->pathdata.Points[i+1], pen, last_point);
@@ -1829,6 +1830,7 @@ static void widen_open_figure(GpPath *path, GpPen *pen, int start, int end,
widen_cap(&path->pathdata.Points[start], &path->pathdata.Points[start+1],
pen, pen->startcap, pen->customstart, TRUE, FALSE, last_point);
+ prev_point->next->type = PathPointTypeStart;
(*last_point)->type |= PathPointTypeCloseSubpath;
}
--
1.7.9.5
More information about the wine-patches
mailing list