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/ntu... ============================================================================== --- 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) {