Jeff Smith : gdiplus: Fix LineCapTriangle path widening.

Alexandre Julliard julliard at winehq.org
Wed Feb 19 15:35:47 CST 2020


Module: wine
Branch: master
Commit: b3a68db9a0dbb1c1f984a09a1db98bc4205c9ea8
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=b3a68db9a0dbb1c1f984a09a1db98bc4205c9ea8

Author: Jeff Smith <whydoubt at gmail.com>
Date:   Tue Feb 18 23:51:58 2020 -0600

gdiplus: Fix LineCapTriangle path widening.

Signed-off-by: Jeff Smith <whydoubt at gmail.com>
Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdiplus/graphicspath.c       | 2 +-
 dlls/gdiplus/tests/graphicspath.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/gdiplus/graphicspath.c b/dlls/gdiplus/graphicspath.c
index 5ea82f4d0e..96078c3da9 100644
--- a/dlls/gdiplus/graphicspath.c
+++ b/dlls/gdiplus/graphicspath.c
@@ -1976,7 +1976,7 @@ static void widen_cap(const GpPointF *endpoint, const GpPointF *nextpoint,
             *last_point = add_path_list_node(*last_point, endpoint->X - dx,
                 endpoint->Y - dy, PathPointTypeLine);
         }
-        if (add_last_point)
+        if (add_first_points || add_last_point)
             add_bevel_point(endpoint, nextpoint, pen, 0, last_point);
         break;
     }
diff --git a/dlls/gdiplus/tests/graphicspath.c b/dlls/gdiplus/tests/graphicspath.c
index 91b83166ad..b840801739 100644
--- a/dlls/gdiplus/tests/graphicspath.c
+++ b/dlls/gdiplus/tests/graphicspath.c
@@ -1283,8 +1283,8 @@ static path_test_t widenline_captriangle_path[] = {
     {55.0, 10.0, PathPointTypeLine,  0, 0}, /*2*/
     {50.0, 15.0, PathPointTypeLine,  0, 0}, /*3*/
     {5.0, 15.0,  PathPointTypeLine,  0, 0}, /*4*/
-    {0.0, 10.0,  PathPointTypeLine,  0, 1}, /*5*/
-    {5.0, 5.0,   PathPointTypeLine|PathPointTypeCloseSubpath, 0, 2} /*6*/
+    {0.0, 10.0,  PathPointTypeLine,  0, 0}, /*5*/
+    {5.0, 5.0,   PathPointTypeLine|PathPointTypeCloseSubpath, 0, 0} /*6*/
     };
 
 static path_test_t widenline_capsquareanchor_path[] = {
@@ -1381,7 +1381,7 @@ static void test_widen_cap(void)
         { LineCapRound, widenline_capround_path,
                 ARRAY_SIZE(widenline_capround_path) },
         { LineCapTriangle, widenline_captriangle_path,
-                ARRAY_SIZE(widenline_captriangle_path), TRUE },
+                ARRAY_SIZE(widenline_captriangle_path) },
         { LineCapNoAnchor, widenline_capflat_path,
                 ARRAY_SIZE(widenline_capflat_path) },
         { LineCapSquareAnchor, widenline_capsquareanchor_path,




More information about the wine-cvs mailing list