From: Timo Kreuzer Date: Wed, 23 Feb 2011 19:10:42 +0000 (+0000) Subject: [WIN32K] X-Git-Tag: ReactOS-0.3.13~161 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=ab7f1c1255194c1135789c7afc253f5bb3aed4d9 [WIN32K] Patch by Rafał Harabień : - Create a new region covering the full desktop in UserRedrawDesktop instead of using Window->hrgnUpdate. Fixes "IntGdiCombineRgn requires hSrc2 != NULL" messages and redrawing issues on mode change. See issue #5949 for more details. svn path=/trunk/; revision=50881 --- diff --git a/reactos/subsystems/win32/win32k/ntuser/desktop.c b/reactos/subsystems/win32/win32k/ntuser/desktop.c index b0b3c7ce803..1653bc21494 100644 --- a/reactos/subsystems/win32/win32k/ntuser/desktop.c +++ b/reactos/subsystems/win32/win32k/ntuser/desktop.c @@ -616,15 +616,19 @@ VOID APIENTRY UserRedrawDesktop() { PWND Window = NULL; - + HRGN hRgn; + Window = UserGetDesktopWindow(); + hRgn = IntSysCreateRectRgnIndirect(&Window->rcWindow); IntInvalidateWindows( Window, - Window->hrgnUpdate, + hRgn, RDW_FRAME | RDW_ERASE | RDW_INVALIDATE | RDW_ALLCHILDREN); + + REGION_FreeRgnByHandle(hRgn); } diff --git a/reactos/subsystems/win32/win32k/ntuser/painting.c b/reactos/subsystems/win32/win32k/ntuser/painting.c index c9bc3146a60..e74639180ce 100644 --- a/reactos/subsystems/win32/win32k/ntuser/painting.c +++ b/reactos/subsystems/win32/win32k/ntuser/painting.c @@ -307,9 +307,9 @@ co_IntPaintWindows(PWND Wnd, ULONG Flags, BOOL Recurse) /* * IntInvalidateWindows * - * Internal function used by IntRedrawWindow. + * Internal function used by IntRedrawWindow, UserRedrawDesktop, + * co_WinPosSetWindowPos, IntValidateParent, co_UserRedrawWindow. */ - VOID FASTCALL IntInvalidateWindows(PWND Wnd, HRGN hRgn, ULONG Flags) {