do reset m_count to 0 after deleting all the items in the control (was broken by last commit)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2005-01-29 21:26:25 +00:00
parent bc5f4d9899
commit 07763c990e

View File

@ -480,8 +480,6 @@ void wxListCtrl::FreeAllInternalData()
m_ignoreChangeMessages = false;
m_AnyInternalData = false;
m_count = 0;
}
}
@ -497,9 +495,12 @@ wxListCtrl::~wxListCtrl()
m_textCtrl = NULL;
}
if (m_ownsImageListNormal) delete m_imageListNormal;
if (m_ownsImageListSmall) delete m_imageListSmall;
if (m_ownsImageListState) delete m_imageListState;
if (m_ownsImageListNormal)
delete m_imageListNormal;
if (m_ownsImageListSmall)
delete m_imageListSmall;
if (m_ownsImageListState)
delete m_imageListState;
}
// ----------------------------------------------------------------------------
@ -1925,10 +1926,12 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
break;
case LVN_DELETEITEM:
if (m_count == 0)
// this should be prevented by the post-processing code below,
// but "just in case"
if ( m_count == 0 )
{
// this should be prevented by the post-processing code
// below, but "just in case"
return false;
}
eventType = wxEVT_COMMAND_LIST_DELETE_ITEM;
event.m_itemIndex = iItem;
@ -2194,6 +2197,10 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
// also, we may free all user data now (couldn't do it before as
// the user should have access to it in OnDeleteAllItems() handler)
FreeAllInternalData();
// the control is empty now, synchronize the cached number of items
// with the real one
m_count = 0;
return true;
case LVN_ENDLABELEDITA: