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:
Robin Dunn
2003-01-30 01:53:28 +00:00
parent 6edf791ccb
commit 68c124a168
2 changed files with 52 additions and 52 deletions

View File

@@ -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;