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