Alexandre Julliard : gdi32: Start a new path stroke when the current position differs from the last.

Alexandre Julliard julliard at winehq.org
Wed Jun 22 11:04:40 CDT 2016


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Jun 22 14:29:10 2016 +0900

gdi32: Start a new path stroke when the current position differs from the last.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdi32/path.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c
index ede3d61..0d4ad59 100644
--- a/dlls/gdi32/path.c
+++ b/dlls/gdi32/path.c
@@ -282,7 +282,9 @@ static BOOL start_new_stroke( struct path_physdev *physdev )
     struct gdi_path *path = physdev->path;
 
     if (!path->newStroke && path->count &&
-        !(path->flags[path->count - 1] & PT_CLOSEFIGURE))
+        !(path->flags[path->count - 1] & PT_CLOSEFIGURE) &&
+        path->points[path->count - 1].x == path->pos.x &&
+        path->points[path->count - 1].y == path->pos.y)
         return TRUE;
 
     path->newStroke = FALSE;
@@ -1234,11 +1236,7 @@ static BOOL pathdrv_PolyDraw( PHYSDEV dev, const POINT *pts, const BYTE *types,
             /* fall through */
         default:
             /* restore original position */
-            if (path->pos.x != orig_pos.x || path->pos.y != orig_pos.y)
-            {
-                path->newStroke = TRUE;
-                path->pos = orig_pos;
-            }
+            path->pos = orig_pos;
             return FALSE;
         }
 




More information about the wine-cvs mailing list