wineps: clipping fix

Huw D M Davies h.davies1 at physics.ox.ac.uk
Tue May 18 09:01:09 CDT 2004


        Huw Davies <huw at codeweavers.com>
        When building PostScript paths with the *_PATH escapes, don't clip
        the path building primitives.  The clipping comes into play when we
        actually draw something.
-- 
Huw Davies
huw at codeweavers.com
Index: dlls/wineps/clipping.c
===================================================================
RCS file: /home/wine/wine/dlls/wineps/clipping.c,v
retrieving revision 1.11
diff -u -r1.11 clipping.c
--- dlls/wineps/clipping.c	13 Feb 2004 20:26:27 -0000	1.11
+++ dlls/wineps/clipping.c	18 May 2004 13:59:16 -0000
@@ -54,6 +54,11 @@
 
     TRACE("hdc=%p\n", physDev->hdc);
 
+    if(physDev->pathdepth) {
+        TRACE("inside a path, so not clipping\n");
+        goto end;
+    }
+
     empty = !GetClipRgn(physDev->hdc, hrgn);
 
     if(!empty) {
@@ -123,8 +128,8 @@
     HRGN hrgn = CreateRectRgn(0,0,0,0);
     BOOL empty;
 
-     empty = !GetClipRgn(physDev->hdc, hrgn);
-     if(!empty)
-         PSDRV_WriteGRestore(physDev);
+    empty = !GetClipRgn(physDev->hdc, hrgn);
+    if(!empty && !physDev->pathdepth)
+        PSDRV_WriteGRestore(physDev);
     DeleteObject(hrgn);
 }



More information about the wine-patches mailing list