X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e81a301cbdc8729b0a71fa5dfd7124bf59368673..5036ea9074aeb8a3aa5efaa54919bce98049ee76:/src/generic/listctrl.cpp diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index 359ed975a2..aeee3f956f 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -152,7 +152,7 @@ public: void SetItemCount(size_t count) { m_count = count; } // special case of SetItemCount(0) - void Clear() { m_itemsSel.Clear(); m_count = 0; m_defaultState = false; } + void Clear() { m_itemsSel.Clear(); m_count = 0; m_defaultState = FALSE; } // must be called when a new item is inserted/added void OnItemAdd(size_t item) { wxFAIL_MSG( _T("TODO") ); } @@ -2672,22 +2672,24 @@ void wxListMainWindow::RefreshAfter( size_t lineFrom ) { if ( HasFlag(wxLC_REPORT) ) { - size_t visibleFrom; - GetVisibleLinesRange(&visibleFrom, NULL); + size_t visibleFrom, visibleTo; + GetVisibleLinesRange(&visibleFrom, &visibleTo); if ( lineFrom < visibleFrom ) lineFrom = visibleFrom; + else if ( lineFrom > visibleTo ) + return; wxRect rect; rect.x = 0; rect.y = GetLineY(lineFrom); + CalcScrolledPosition( rect.x, rect.y, &rect.x, &rect.y ); wxSize size = GetClientSize(); rect.width = size.x; // refresh till the bottom of the window rect.height = size.y - rect.y; - CalcScrolledPosition( rect.x, rect.y, &rect.x, &rect.y ); RefreshRect( rect ); } else // !report