Huw Davies <huw@xxxxxxxxxxxxxxx> We need to set the WorldTransform to the identity before stroking or filling the path. Fix a memory leak. -- Huw Davies huw@xxxxxxxxxxxxxxx Index: graphics/path.c =================================================================== RCS file: /home/wine/wine/graphics/path.c,v retrieving revision 1.36 diff -u -r1.36 path.c --- graphics/path.c 5 Sep 2003 23:15:45 -0000 1.36 +++ graphics/path.c 10 Nov 2003 16:53:39 -0000 @@ -376,6 +376,10 @@ 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 @@ } newPath.state = PATH_Closed; PATH_AssignGdiPath(pPath, &newPath); - PATH_EmptyPath(&newPath); + PATH_DestroyGdiPath(&newPath); return TRUE; } @@ -1453,7 +1457,10 @@ 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]) {