Process only pending expose events during RDW_UPDATENOW, not all the
other X events.
This commit is contained in:
parent
5beccd01ac
commit
cdb2bfe884
|
@ -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 )
|
||||||
|
|
||||||
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)
|
||||||
|
|
Loading…
Reference in New Issue