Process the pending expose events on RDW_UPDATENOW before doing the

redraw_window server call so that the parent windows get properly
validated if necessary.
This commit is contained in:
Alexandre Julliard 2005-05-13 14:03:06 +00:00
parent 90b48e93a3
commit 7bb88af5a2
1 changed files with 3 additions and 3 deletions

View File

@ -321,9 +321,6 @@ static void update_now( HWND hwnd, UINT rdw_flags )
{
HWND prev = 0, child;
/* process pending expose events before painting */
MsgWaitForMultipleObjects( 0, NULL, FALSE, 0, QS_PAINT );
/* desktop window never gets WM_PAINT, only WM_ERASEBKGND */
if (hwnd == GetDesktopWindow()) erase_now( hwnd, rdw_flags | RDW_NOCHILDREN );
@ -564,6 +561,9 @@ BOOL WINAPI RedrawWindow( HWND hwnd, const RECT *rect, HRGN hrgn, UINT flags )
dump_rdw_flags(flags);
}
/* process pending expose events before painting */
if (flags & RDW_UPDATENOW) MsgWaitForMultipleObjects( 0, NULL, FALSE, 0, QS_PAINT );
if (rect && !hrgn)
{
ret = redraw_window_rects( hwnd, flags, rect, 1 );