1. Added m_count and maintain its value in InsertItem, RemoveItem
etc. and return it from GetItemCount to save so many calls to ListView_GetItemCount. 2. If EVT_LIST_DELETE_ALL_ITEMS was not handled then the post-processing code to prevent LVN_DELETEITEM messages was not getting executed. Changed it so the post processing always happens. 3. It's possible with some versions of comctl32 that garbage values can be passed in nmLV->lParam so don't try to get the internal item data pointer from it. This should close bug# 659939 4. Added FreeAllInternalData from DeleteAllItems, (part of patch #672065) and also guard against processing LVN_CHANG* messages while freeing the internal data. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -370,6 +370,9 @@ protected:
|
||||
long m_baseStyle; // Basic Windows style flags, for recreation purposes
|
||||
int m_colCount; // Windows doesn't have GetColumnCount so must
|
||||
// keep track of inserted/deleted columns
|
||||
long m_count; // Keep track of item count to save calls to
|
||||
// ListView_GetItemCount
|
||||
bool m_ignoreChangeMessages;
|
||||
|
||||
// TRUE if we have any internal data (user data & attributes)
|
||||
bool m_AnyInternalData;
|
||||
|
Reference in New Issue
Block a user