[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