Nikolay Sivov <bungleh...@gmail.com> writes: > diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c > index a65d832..9bca376 100644 > --- a/dlls/comctl32/listview.c > +++ b/dlls/comctl32/listview.c > @@ -9740,6 +9740,8 @@ static LRESULT LISTVIEW_Paint(LISTVIEW_INFO *infoPtr, > HDC hdc) > { > TRACE("(hdc=%p)\n", hdc); > > + if (!is_redrawing(infoPtr)) return 0; > + > if (infoPtr->bNoItemMetrics && infoPtr->nItemCount) > { > infoPtr->bNoItemMetrics = FALSE; > @@ -9790,7 +9792,13 @@ static LRESULT LISTVIEW_PrintClient(LISTVIEW_INFO > *infoPtr, HDC hdc, DWORD optio > LISTVIEW_EraseBkgnd(infoPtr, hdc); > > if (options & PRF_CLIENT) > + { > + BOOL redraw_old = infoPtr->bRedraw; > + > + infoPtr->bRedraw = TRUE; > LISTVIEW_Paint(infoPtr, hdc); > + infoPtr->bRedraw = redraw_old; > + }
That's not very nice. You should move the checks so that you don't have to change the flag to paint. -- Alexandre Julliard julli...@winehq.org