[ros-diffs] [jgardou] 48042: [WIN32K] - Properly initialize hVisRgn in CLIPPING_UpdateGCRegion This fixes a whole bunch of "IntGdiCombineRgn requires hSrc2 != NULL for combine mode 1!", and probably some bugs. Dedicated to encod3d.

jgardou at svn.reactos.org jgardou at svn.reactos.org
Wed Jul 14 16:12:33 UTC 2010


Author: jgardou
Date: Wed Jul 14 16:12:32 2010
New Revision: 48042

URL: http://svn.reactos.org/svn/reactos?rev=48042&view=rev
Log:
[WIN32K]
  - Properly initialize hVisRgn in CLIPPING_UpdateGCRegion
This fixes a whole bunch of "IntGdiCombineRgn requires hSrc2 != NULL for combine mode 1!", and probably some bugs.
Dedicated to encod3d.

Modified:
    trunk/reactos/subsystems/win32/win32k/objects/cliprgn.c

Modified: trunk/reactos/subsystems/win32/win32k/objects/cliprgn.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/cliprgn.c?rev=48042&r1=48041&r2=48042&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/cliprgn.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/cliprgn.c [iso-8859-1] Wed Jul 14 16:12:32 2010
@@ -26,7 +26,7 @@
 CLIPPING_UpdateGCRegion(DC* Dc)
 {
    PROSRGNDATA CombinedRegion;
-   HRGN hRgnVis = NULL;
+   HRGN hRgnVis = Dc->prgnVis->BaseObject.hHmgr;
 
    /* Experiment with API region based on wine.. */
    if (Dc->rosdc.hClipRgn && Dc->dclevel.prgnMeta)
@@ -56,7 +56,7 @@
       Dc->rosdc.hGCClipRgn = IntSysCreateRectRgn(0, 0, 0, 0);
 
    if (Dc->rosdc.hClipRgn == NULL)
-      NtGdiCombineRgn(Dc->rosdc.hGCClipRgn, ((PROSRGNDATA)Dc->prgnVis)->BaseObject.hHmgr, 0, RGN_COPY);
+      NtGdiCombineRgn(Dc->rosdc.hGCClipRgn, hRgnVis, 0, RGN_COPY);
    else
       NtGdiCombineRgn(Dc->rosdc.hGCClipRgn, Dc->rosdc.hClipRgn, hRgnVis, RGN_AND);
 




More information about the Ros-diffs mailing list