Vincent Povirk : gdiplus: Properly set the first point to start when widening open figures.

Alexandre Julliard julliard at winehq.org
Fri Sep 21 14:22:39 CDT 2012


Module: wine
Branch: master
Commit: 8871af7ea563725fb92b75ec88a1fa946dccb574
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8871af7ea563725fb92b75ec88a1fa946dccb574

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Thu Sep 20 16:44:47 2012 -0500

gdiplus: Properly set the first point to start when widening open figures.

---

 dlls/gdiplus/graphicspath.c |    6 ++++--
 1 files 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;
 }
 




More information about the wine-cvs mailing list