Reset current item in generic virtual wxListCtrl when items count changes.

This ensures that we don't end up with an invalid current item value, which
resulted in the asserts (see
http://thread.gmane.org/gmane.comp.lib.wxwidgets.general/80341) and possibly
worse.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2013-11-01 23:59:07 +00:00
parent 14990d8817
commit 5992503b62

View File

@@ -3496,6 +3496,12 @@ size_t wxListMainWindow::GetItemCount() const
void wxListMainWindow::SetItemCount(long count)
{
// Update the current item if it's not valid any longer (notice that this
// invalidates it completely if the control is becoming empty, which is the
// right thing to do).
if ( HasCurrent() && m_current >= (size_t)count )
ChangeCurrent(count - 1);
m_selStore.SetItemCount(count);
m_countVirt = count;