Author: mkupfer
Date: Sat Aug 22 00:23:22 2009
New Revision: 42836
URL:
http://svn.reactos.org/svn/reactos?rev=42836&view=rev
Log:
Fix redraw bug by correcting nonclient region calculation. (Window->UpdateRegion has no
proper values)
TODO: calculate and/or update Window->UpdateRegion properly
See issue #4181 for details.
Modified:
trunk/reactos/subsystems/win32/win32k/ntuser/painting.c
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/painting.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/painting.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/painting.c [iso-8859-1] Sat Aug 22
00:23:22 2009
@@ -168,7 +168,7 @@
if (Window->UpdateRegion != NULL &&
Window->UpdateRegion != (HRGN)1)
{
- hRgnNonClient = NtGdiCreateRectRgn(0, 0, 0, 0);
+ hRgnNonClient = IntCalcWindowRgn(Window, FALSE);
/*
* If region creation fails it's safe to fallback to whole
@@ -186,7 +186,7 @@
return (HRGN)1;
}
- RgnType = NtGdiCombineRgn(hRgnNonClient, Window->UpdateRegion,
+ RgnType = NtGdiCombineRgn(hRgnNonClient, hRgnNonClient,
hRgnWindow, RGN_DIFF);
if (RgnType == ERROR)
{