Commit cdb2bfe8 authored by Alexandre Julliard's avatar Alexandre Julliard

Process only pending expose events during RDW_UPDATENOW, not all the

other X events.
parent 5beccd01
...@@ -328,6 +328,9 @@ static void update_now( HWND hwnd, UINT rdw_flags ) ...@@ -328,6 +328,9 @@ 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 );
...@@ -426,10 +429,6 @@ BOOL WINAPI RedrawWindow( HWND hwnd, const RECT *rect, HRGN hrgn, UINT flags ) ...@@ -426,10 +429,6 @@ BOOL WINAPI RedrawWindow( HWND hwnd, const RECT *rect, HRGN hrgn, UINT flags )
if (!WIN_IsWindowDrawable( hwnd, !(flags & RDW_FRAME) )) return TRUE; if (!WIN_IsWindowDrawable( hwnd, !(flags & RDW_FRAME) )) return TRUE;
/* process pending events and messages before painting */
if (flags & RDW_UPDATENOW)
MsgWaitForMultipleObjects( 0, NULL, FALSE, 0, QS_ALLINPUT );
if (TRACE_ON(win)) if (TRACE_ON(win))
{ {
if (hrgn) if (hrgn)
......
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