Index: include/ntuser.h =================================================================== --- include/ntuser.h (revision 73520) +++ include/ntuser.h (working copy) @@ -2063,7 +2063,7 @@ NtUserEvent( DWORD Unknown0); -DWORD +INT NTAPI NtUserExcludeUpdateRgn( HDC hDC, @@ -2470,7 +2470,7 @@ LPRECT lpRect, BOOL fErase); -int +INT NTAPI NtUserGetUpdateRgn( HWND hWnd, Index: user/ntuser/ntstubs.c =================================================================== --- user/ntuser/ntstubs.c (revision 73520) +++ user/ntuser/ntstubs.c (working copy) @@ -104,17 +104,6 @@ return 0; } -DWORD -APIENTRY -NtUserExcludeUpdateRgn( - HDC hDC, - HWND hWnd) -{ - STUB - - return 0; -} - BOOL APIENTRY NtUserGetAltTabInfo( Index: user/ntuser/painting.c =================================================================== --- user/ntuser/painting.c (revision 73520) +++ user/ntuser/painting.c (working copy) @@ -2357,7 +2357,8 @@ BOOL APIENTRY -NtUserDrawCaption(HWND hWnd, +NtUserDrawCaption( + HWND hWnd, HDC hDC, LPCRECT lpRc, UINT uFlags) @@ -2365,6 +2366,36 @@ return NtUserDrawCaptionTemp(hWnd, hDC, lpRc, 0, 0, NULL, uFlags); } +INT FASTCALL +co_UserExcludeUpdateRgn(HDC hDC, PWND Window /* Wnd or pWnd */) +{ + // FIXME: What to do?? + return ERROR; +} + +INT +APIENTRY +NtUserExcludeUpdateRgn( + HDC hDC, + HWND hWnd) +{ + INT ret = ERROR; + PWND pWnd; + + TRACE("Enter NtUserExcludeUpdateRgn\n"); + UserEnterExclusive(); + + pWnd = UserGetWindowObject(hWnd); + + if (hDC && pWnd) + ret = co_UserExcludeUpdateRgn(hDC, pWnd); + + TRACE("Leave NtUserExcludeUpdateRgn, ret=%i\n", ret); + + UserLeave(); + return ret; +} + BOOL APIENTRY NtUserInvalidateRect(