From 79edbebccd00b14755ce9b8a2cc25532ce4bc392 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Tue, 11 Nov 2003 00:27:28 +0000 Subject: [PATCH] We need to set the WorldTransform to the identity before stroking or filling the path. Fixed a memory leak. --- graphics/path.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/graphics/path.c b/graphics/path.c index c96e0984a1f..d99fa7bd434 100644 --- a/graphics/path.c +++ b/graphics/path.c @@ -376,6 +376,10 @@ static BOOL PATH_FillPath(DC *dc, GdiPath *pPath) SetMapMode(dc->hSelf, MM_TEXT); SetViewportOrgEx(dc->hSelf, 0, 0, NULL); SetWindowOrgEx(dc->hSelf, 0, 0, NULL); + graphicsMode=GetGraphicsMode(dc->hSelf); + SetGraphicsMode(dc->hSelf, GM_ADVANCED); + ModifyWorldTransform(dc->hSelf, &xform, MWT_IDENTITY); + SetGraphicsMode(dc->hSelf, graphicsMode); /* Paint the region */ PaintRgn(dc->hSelf, hrgn); @@ -1120,7 +1124,7 @@ static BOOL PATH_FlattenPath(GdiPath *pPath) } newPath.state = PATH_Closed; PATH_AssignGdiPath(pPath, &newPath); - PATH_EmptyPath(&newPath); + PATH_DestroyGdiPath(&newPath); return TRUE; } @@ -1453,7 +1457,10 @@ static BOOL PATH_StrokePath(DC *dc, GdiPath *pPath) SetMapMode(dc->hSelf, MM_TEXT); SetViewportOrgEx(dc->hSelf, 0, 0, NULL); SetWindowOrgEx(dc->hSelf, 0, 0, NULL); - + graphicsMode=GetGraphicsMode(dc->hSelf); + SetGraphicsMode(dc->hSelf, GM_ADVANCED); + ModifyWorldTransform(dc->hSelf, &xform, MWT_IDENTITY); + SetGraphicsMode(dc->hSelf, graphicsMode); for(i = 0; i < pPath->numEntriesUsed; i++) { switch(pPath->pFlags[i]) {