Commit 7bb88af5 authored by Alexandre Julliard's avatar Alexandre Julliard

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.
parent 90b48e93
...@@ -321,9 +321,6 @@ static void update_now( HWND hwnd, UINT rdw_flags ) ...@@ -321,9 +321,6 @@ static void update_now( HWND hwnd, UINT rdw_flags )
{ {
HWND prev = 0, child; 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 */ /* desktop window never gets WM_PAINT, only WM_ERASEBKGND */
if (hwnd == GetDesktopWindow()) erase_now( hwnd, rdw_flags | RDW_NOCHILDREN ); 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 ) ...@@ -564,6 +561,9 @@ BOOL WINAPI RedrawWindow( HWND hwnd, const RECT *rect, HRGN hrgn, UINT flags )
dump_rdw_flags(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) if (rect && !hrgn)
{ {
ret = redraw_window_rects( hwnd, flags, rect, 1 ); ret = redraw_window_rects( hwnd, flags, rect, 1 );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment