path: worldtransform fixes
Huw D M Davies
h.davies1 at physics.ox.ac.uk
Mon Nov 10 10:55:42 CST 2003
Huw Davies <huw at codeweavers.com>
We need to set the WorldTransform to the identity before stroking or
filling the path.
Fix a memory leak.
--
Huw Davies
huw at codeweavers.com
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]) {
More information about the wine-patches
mailing list