diff --git a/win32ss/user/ntuser/painting.c b/win32ss/user/ntuser/painting.c index a684d74c364..0574c7bf23e 100644 --- a/win32ss/user/ntuser/painting.c +++ b/win32ss/user/ntuser/painting.c @@ -285,9 +285,11 @@ IntGetNCUpdateRgn(PWND Window, BOOL Validate) return HRGN_WINDOW; } - NcType = IntGdiGetRgnBox(hRgnNonClient, &update); + NcType = IntGdiGetRgnBox(Window->hrgnUpdate, &update); RgnType = NtGdiCombineRgn(hRgnNonClient, hRgnNonClient, hRgnWindow, RGN_DIFF); + if ((RgnType != ERROR) && (RgnType != NULLREGION)) + RgnType = NtGdiCombineRgn(hRgnNonClient, hRgnNonClient, Window->hrgnUpdate, RGN_AND); if (RgnType == ERROR) {