X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7a46263195573a6e310b6ca74bd0ced613a56597..50f65637a84135808d0fa246b7f53c6d66889a74:/src/msw/listctrl.cpp diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp index 25c10a2929..49c6d04c04 100644 --- a/src/msw/listctrl.cpp +++ b/src/msw/listctrl.cpp @@ -350,7 +350,7 @@ bool wxListCtrl::Create(wxWindow *parent, if ( !CreateControl(parent, id, pos, size, style, validator, name) ) return false; - if ( !MSWCreateControl(WC_LISTVIEW, _T(""), pos, size) ) + if ( !MSWCreateControl(WC_LISTVIEW, wxEmptyString, pos, size) ) return false; // explicitly say that we want to use Unicode because otherwise we get ANSI @@ -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: