We also have to validate the frame to avoid an infinite loop when the app doesn't call BeginPaint.
diff --git a/windows/message.c b/windows/message.c index 715dc82..74757a2 100644 --- a/windows/message.c +++ b/windows/message.c
@@ -2375,7 +2375,8 @@ msg->hwnd); wndPtr->flags &= ~WIN_NEEDS_BEGINPAINT; /* Validate the update region to avoid infinite WM_PAINT loop */ - ValidateRect( msg->hwnd, NULL ); + PAINT_RedrawWindow( wndPtr->hwndSelf, NULL, 0, + RDW_FRAME | RDW_VALIDATE | RDW_NOCHILDREN | RDW_NOINTERNALPAINT, 0 ); } END: WIN_ReleaseWndPtr(wndPtr);