[Win32k]
authorJames Tabor <james.tabor@reactos.org>
Sun, 8 Jun 2014 17:56:28 +0000 (17:56 +0000)
committerJames Tabor <james.tabor@reactos.org>
Sun, 8 Jun 2014 17:56:28 +0000 (17:56 +0000)
- Fix functions. Old patch from 2009.

svn path=/trunk/; revision=63563

reactos/win32ss/user/ntuser/painting.c

index 72e6287..4259a0b 100644 (file)
@@ -2141,7 +2141,13 @@ NtUserInvalidateRect(
     CONST RECT *lpUnsafeRect,
     BOOL bErase)
 {
     CONST RECT *lpUnsafeRect,
     BOOL bErase)
 {
-    return NtUserRedrawWindow(hWnd, lpUnsafeRect, NULL, RDW_INVALIDATE | (bErase? RDW_ERASE : 0));
+    UINT flags = RDW_INVALIDATE | (bErase ? RDW_ERASE : 0);
+    if (!hWnd)
+    {
+       flags = RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_FRAME | RDW_ERASE | RDW_ERASENOW;
+       lpUnsafeRect = NULL;
+    }
+    return NtUserRedrawWindow(hWnd, lpUnsafeRect, NULL, flags);
 }
 
 BOOL
 }
 
 BOOL
@@ -2151,6 +2157,11 @@ NtUserInvalidateRgn(
     HRGN hRgn,
     BOOL bErase)
 {
     HRGN hRgn,
     BOOL bErase)
 {
+    if (!hWnd)
+    {
+       EngSetLastError( ERROR_INVALID_WINDOW_HANDLE );
+       return FALSE;
+    }
     return NtUserRedrawWindow(hWnd, NULL, hRgn, RDW_INVALIDATE | (bErase? RDW_ERASE : 0));
 }
 
     return NtUserRedrawWindow(hWnd, NULL, hRgn, RDW_INVALIDATE | (bErase? RDW_ERASE : 0));
 }
 
@@ -2197,11 +2208,13 @@ NtUserValidateRect(
     HWND hWnd,
     const RECT *lpRect)
 {
     HWND hWnd,
     const RECT *lpRect)
 {
-    if (hWnd)
+    UINT flags = RDW_VALIDATE;
+    if (!hWnd)
     {
     {
-       return NtUserRedrawWindow(hWnd, lpRect, NULL, RDW_VALIDATE );
+       flags = RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_FRAME | RDW_ERASE | RDW_ERASENOW;
+       lpRect = NULL;
     }
     }
-    return NtUserRedrawWindow(hWnd, lpRect, NULL, RDW_INVALIDATE|RDW_ERASE|RDW_ERASENOW|RDW_ALLCHILDREN);
+    return NtUserRedrawWindow(hWnd, lpRect, NULL, flags);
 }
 
 /* EOF */
 }
 
 /* EOF */