Alexandre Julliard : user32: Check for the need to flush window surfaces every time a window finishes painting .

Alexandre Julliard julliard at winehq.org
Tue Sep 11 16:59:07 CDT 2012


Module: wine
Branch: master
Commit: 1a4a1e53233f5313e969fadd9cac006dd97c162a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1a4a1e53233f5313e969fadd9cac006dd97c162a

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Sep 11 19:14:05 2012 +0200

user32: Check for the need to flush window surfaces every time a window finishes painting.

---

 dlls/user32/painting.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/dlls/user32/painting.c b/dlls/user32/painting.c
index 4def070..1a6de87 100644
--- a/dlls/user32/painting.c
+++ b/dlls/user32/painting.c
@@ -805,7 +805,6 @@ void move_window_bits( HWND hwnd, struct window_surface *old_surface,
 static void update_now( HWND hwnd, UINT rdw_flags )
 {
     HWND child = 0;
-    int count = 0;
 
     /* desktop window never gets WM_PAINT, only WM_ERASEBKGND */
     if (hwnd == GetDesktopWindow()) erase_now( hwnd, rdw_flags | RDW_NOCHILDREN );
@@ -822,10 +821,8 @@ static void update_now( HWND hwnd, UINT rdw_flags )
         if (!flags) break;  /* nothing more to do */
 
         SendMessageW( child, WM_PAINT, 0, 0 );
-        count++;
         if (rdw_flags & RDW_NOCHILDREN) break;
     }
-    if (count) flush_window_surfaces( FALSE );
 }
 
 
@@ -936,6 +933,7 @@ BOOL WINAPI EndPaint( HWND hwnd, const PAINTSTRUCT *lps )
     if (!lps) return FALSE;
     release_dc( hwnd, lps->hdc, TRUE );
     ShowCaret( hwnd );
+    flush_window_surfaces( FALSE );
     return TRUE;
 }
 




More information about the wine-cvs mailing list