Commit 17b97eb9 authored by Dimitrie O. Paun's avatar Dimitrie O. Paun Committed by Alexandre Julliard

Despite what the docs say, we have to invalidate the list on

WM_SETREDRAW(TRUE).
parent ccc8f7dc
......@@ -1209,7 +1209,7 @@ static inline BOOL is_redrawing(LISTVIEW_INFO *infoPtr)
return infoPtr->bRedraw && !infoPtr->bFirstPaint;
}
static inline void LISTVIEW_InvalidateRect(LISTVIEW_INFO *infoPtr, const RECT*rect)
static inline void LISTVIEW_InvalidateRect(LISTVIEW_INFO *infoPtr, const RECT* rect)
{
if(!is_redrawing(infoPtr)) return;
TRACE(" invalidating rect=%s\n", debugrect(rect));
......@@ -8031,6 +8031,11 @@ static LRESULT LISTVIEW_SetFont(LISTVIEW_INFO *infoPtr, HFONT hFont, WORD fRedra
*/
static LRESULT LISTVIEW_SetRedraw(LISTVIEW_INFO *infoPtr, BOOL bRedraw)
{
TRACE("infoPtr->bRedraw=%d, bRedraw=%d\n", infoPtr->bRedraw, bRedraw);
/* we can not use straight equality here because _any_ non-zero value is TRUE */
if ((infoPtr->bRedraw && bRedraw) || (!infoPtr->bRedraw && !bRedraw)) return 0;
infoPtr->bRedraw = bRedraw;
if(!bRedraw) return 0;
......@@ -8039,6 +8044,10 @@ static LRESULT LISTVIEW_SetRedraw(LISTVIEW_INFO *infoPtr, BOOL bRedraw)
LISTVIEW_Arrange(infoPtr, LVA_DEFAULT);
LISTVIEW_UpdateScroll(infoPtr);
/* despite what the WM_SETREDRAW docs says, apps expect us
* to invalidate the listview here... stupid! */
LISTVIEW_InvalidateList(infoPtr);
return 0;
}
......
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