From e0f3f020c0572c05673fe3c8189512948472092c Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 16 Jun 2016 00:36:06 +0900 Subject: [PATCH] wineps.drv: Reset the device path once it has been painted. Signed-off-by: Alexandre Julliard --- dlls/wineps.drv/graphics.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/wineps.drv/graphics.c b/dlls/wineps.drv/graphics.c index 711ab432ee6..7fa07273fbe 100644 --- a/dlls/wineps.drv/graphics.c +++ b/dlls/wineps.drv/graphics.c @@ -516,7 +516,11 @@ static BOOL paint_path( PHYSDEV dev, BOOL stroke, BOOL fill ) int i, size = GetPath( dev->hdc, NULL, NULL, 0 ); if (size == -1) return FALSE; - if (!size) return TRUE; + if (!size) + { + AbortPath( dev->hdc ); + return TRUE; + } points = HeapAlloc( GetProcessHeap(), 0, size * sizeof(*points) ); types = HeapAlloc( GetProcessHeap(), 0, size * sizeof(*types) ); if (!points || !types) goto done; @@ -549,6 +553,7 @@ static BOOL paint_path( PHYSDEV dev, BOOL stroke, BOOL fill ) if (stroke) PSDRV_DrawLine(dev); else PSDRV_WriteNewPath(dev); PSDRV_ResetClip(dev); + AbortPath( dev->hdc ); done: HeapFree( GetProcessHeap(), 0, points );