diff --git "a/win32ss/user/ntuser/painting.c" "b/win32ss/user/ntuser/painting.c" index e6fb2d6831f..2f41f8e686c 100644 --- "a/win32ss/user/ntuser/painting.c" +++ "b/win32ss/user/ntuser/painting.c" @@ -155,7 +155,7 @@ IntSendSyncPaint(PWND Wnd, ULONG Flags) Message = CONTAINING_RECORD(Entry, USER_SENT_MESSAGE, ListEntry); do { - ERR("LOOP it\n"); + TRACE("LOOP it\n"); if (Message->Msg.message == WM_SYNCPAINT && Message->Msg.hwnd == UserHMGetHandle(Wnd)) { // Already received so exit out. @@ -675,6 +675,13 @@ IntInvalidateWindows(PWND Wnd, PREGION Rgn, ULONG Flags) { RgnType = IntGdiCombineRgn(Rgn, Rgn, RgnWindow, RGN_AND); REGION_Delete(RgnWindow); + /* Nothing to paint, just return */ + if ((RgnType == NULLREGION && + !(Flags & RDW_ERASENOW)) + || RgnType == ERROR) + { + return; + } } } else