]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/listctrl.cpp
more wxPostEvent MT fixes
[wxWidgets.git] / src / msw / listctrl.cpp
index 4347b8482002cfc102855ef63c865ef4b8a06198..0d5621a969a2bb22e01cf19d518a4debe8158f77 100644 (file)
@@ -113,16 +113,16 @@ public:
         m_pItem = &item;
     }
 
-    // memcpy() in Init() can't work if the struct sizes are different
-    wxCOMPILE_TIME_ASSERT( sizeof(LV_ITEM_OTHER) == sizeof(LV_ITEM_NATIVE),
-                           CodeCantWorkIfDiffSizes);
-
     // init with conversion
     void Init(LV_ITEM_OTHER& item)
     {
         // avoid unnecessary dynamic memory allocation, jjust make m_pItem
         // point to our own m_item
 
+        // memcpy() can't work if the struct sizes are different
+        wxCOMPILE_TIME_ASSERT( sizeof(LV_ITEM_OTHER) == sizeof(LV_ITEM_NATIVE),
+                               CodeCantWorkIfDiffSizes);
+
         memcpy(&m_item, &item, sizeof(LV_ITEM_NATIVE));
 
         // convert text from ANSI to Unicod if necessary
@@ -480,6 +480,8 @@ void wxListCtrl::FreeAllInternalData()
         m_ignoreChangeMessages = false;
 
         m_AnyInternalData = false;
+
+        m_count = 0;
     }
 }
 
@@ -1917,7 +1919,6 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
                 break;
 
             case LVN_DELETEALLITEMS:
-                m_count = 0;
                 eventType = wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS;
                 event.m_itemIndex = -1;
                 break;