Prevent uncontrolled redrawing in listviews

Medland, Bill Bill.Medland at accpac.com
Thu Nov 22 14:53:57 CST 2001


 <<diff31.txt>> 
-------------- next part --------------
Bill Medland (medbi01 at accpac.com)
Ensure that SetRedraw(TRUE) does not result in uncontrolled WM_PAINT
messages in LISTVIEW

Index: wine/dlls/comctl32/listview.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/listview.c,v
retrieving revision 1.107
diff -u -r1.107 listview.c
--- wine/dlls/comctl32/listview.c	2001/08/21 17:04:02	1.107
+++ wine/dlls/comctl32/listview.c	2001/11/22 19:26:39
@@ -8800,6 +8800,9 @@
  * DESCRIPTION:
  * Message handling for WM_SETREDRAW.  
  * For the Listview, it invalidates the entire window (the doc specifies otherwise)
+ * However if we specify RDW_FRAME then it can lead to repeated redrawing 
+ * for some applications (e.g. MSDN's rowlist example with a SetRedraw(FALSE)/
+ * SetRedraw(TRUE) added.
  * 
  * PARAMETER(S):
  * [I] HWND   : window handle
@@ -8815,7 +8818,7 @@
     if(bRedraw)
     {
         RedrawWindow(hwnd, NULL, 0, 
-            RDW_INVALIDATE | RDW_FRAME | RDW_ERASE | RDW_ALLCHILDREN | RDW_ERASENOW);
+            RDW_INVALIDATE | RDW_ERASE | RDW_ALLCHILDREN | RDW_ERASENOW);
     }
     return lResult;
 }


More information about the wine-patches mailing list