Remove bFirstPain funky optimization, it is causing too much grief.
This commit is contained in:
parent
f07dfff17b
commit
bc9de0500e
|
@ -250,7 +250,6 @@ typedef struct tagLISTVIEW_INFO
|
||||||
INT ntmHeight; /* Some cached metrics of the font used */
|
INT ntmHeight; /* Some cached metrics of the font used */
|
||||||
INT ntmAveCharWidth; /* by the listview to draw items */
|
INT ntmAveCharWidth; /* by the listview to draw items */
|
||||||
BOOL bRedraw; /* Turns on/off repaints & invalidations */
|
BOOL bRedraw; /* Turns on/off repaints & invalidations */
|
||||||
BOOL bFirstPaint; /* Flags if the control has never painted before */
|
|
||||||
BOOL bAutoarrange; /* Autoarrange flag when NOT in LVS_AUTOARRANGE */
|
BOOL bAutoarrange; /* Autoarrange flag when NOT in LVS_AUTOARRANGE */
|
||||||
BOOL bFocus;
|
BOOL bFocus;
|
||||||
BOOL bDoChangeNotify; /* send change notification messages? */
|
BOOL bDoChangeNotify; /* send change notification messages? */
|
||||||
|
@ -1315,7 +1314,7 @@ static inline BOOL LISTVIEW_GetItemW(LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVItem)
|
||||||
|
|
||||||
static inline BOOL is_redrawing(LISTVIEW_INFO *infoPtr)
|
static inline BOOL is_redrawing(LISTVIEW_INFO *infoPtr)
|
||||||
{
|
{
|
||||||
return infoPtr->bRedraw && !infoPtr->bFirstPaint;
|
return infoPtr->bRedraw;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void LISTVIEW_InvalidateRect(LISTVIEW_INFO *infoPtr, const RECT* rect)
|
static inline void LISTVIEW_InvalidateRect(LISTVIEW_INFO *infoPtr, const RECT* rect)
|
||||||
|
@ -7162,7 +7161,6 @@ static LRESULT LISTVIEW_Create(HWND hwnd, const CREATESTRUCTW *lpcs)
|
||||||
infoPtr->nSelectionMark = -1;
|
infoPtr->nSelectionMark = -1;
|
||||||
infoPtr->nHotItem = -1;
|
infoPtr->nHotItem = -1;
|
||||||
infoPtr->bRedraw = TRUE;
|
infoPtr->bRedraw = TRUE;
|
||||||
infoPtr->bFirstPaint = TRUE;
|
|
||||||
infoPtr->bNoItemMetrics = TRUE;
|
infoPtr->bNoItemMetrics = TRUE;
|
||||||
infoPtr->bDoChangeNotify = TRUE;
|
infoPtr->bDoChangeNotify = TRUE;
|
||||||
infoPtr->iconSpacing.cx = GetSystemMetrics(SM_CXICONSPACING);
|
infoPtr->iconSpacing.cx = GetSystemMetrics(SM_CXICONSPACING);
|
||||||
|
@ -7984,7 +7982,6 @@ static LRESULT LISTVIEW_Paint(LISTVIEW_INFO *infoPtr, HDC hdc)
|
||||||
{
|
{
|
||||||
TRACE("(hdc=%p)\n", hdc);
|
TRACE("(hdc=%p)\n", hdc);
|
||||||
|
|
||||||
infoPtr->bFirstPaint = FALSE;
|
|
||||||
if (infoPtr->bNoItemMetrics && infoPtr->nItemCount)
|
if (infoPtr->bNoItemMetrics && infoPtr->nItemCount)
|
||||||
{
|
{
|
||||||
UINT uView = infoPtr->dwStyle & LVS_TYPEMASK;
|
UINT uView = infoPtr->dwStyle & LVS_TYPEMASK;
|
||||||
|
|
Loading…
Reference in New Issue