X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/58a8ab88685a72ac030d5e2ade62b4d796f11bed..85d10d9bbb92b967eea4d2307ce4956aff5e6f46:/src/msw/treectrl.cpp?ds=sidebyside diff --git a/src/msw/treectrl.cpp b/src/msw/treectrl.cpp index 0446ef1aed..10ad765ff2 100644 --- a/src/msw/treectrl.cpp +++ b/src/msw/treectrl.cpp @@ -671,8 +671,10 @@ void wxTreeCtrl::DeleteAllItems() void wxTreeCtrl::DoExpand(const wxTreeItemId& item, int flag) { - wxASSERT_MSG( flag == TVE_COLLAPSE || flag == TVE_COLLAPSERESET || - flag == TVE_EXPAND || flag == TVE_TOGGLE, + wxASSERT_MSG( flag == TVE_COLLAPSE || + flag == (TVE_COLLAPSE | TVE_COLLAPSERESET) || + flag == TVE_EXPAND || + flag == TVE_TOGGLE, "Unknown flag in wxTreeCtrl::DoExpand" ); // TreeView_Expand doesn't send TVN_ITEMEXPAND(ING) messages, so we must @@ -712,7 +714,7 @@ void wxTreeCtrl::Collapse(const wxTreeItemId& item) void wxTreeCtrl::CollapseAndReset(const wxTreeItemId& item) { - DoExpand(item, TVE_COLLAPSERESET); + DoExpand(item, TVE_COLLAPSE | TVE_COLLAPSERESET); } void wxTreeCtrl::Toggle(const wxTreeItemId& item) @@ -852,6 +854,9 @@ static int CALLBACK TreeView_CompareCallback(wxTreeItemData *pItem1, wxTreeItemData *pItem2, wxTreeCtrl *tree) { + wxCHECK_MSG( pItem1 && pItem2, 0, + _T("sorting tree without data doesn't make sense") ); + return tree->OnCompareItems(pItem1->GetId(), pItem2->GetId()); } @@ -909,7 +914,7 @@ bool wxTreeCtrl::MSWCommand(WXUINT cmd, WXWORD id) } // process WM_NOTIFY Windows message -bool wxTreeCtrl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam, WXLPARAM *result) +bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) { wxTreeEvent event(wxEVT_NULL, m_windowId); wxEventType eventType = wxEVT_NULL; @@ -1045,7 +1050,7 @@ bool wxTreeCtrl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam, WXLPARAM *result) } default: - return wxControl::MSWNotify(wParam, lParam, result); + return wxControl::MSWOnNotify(idCtrl, lParam, result); } event.SetEventObject(this);