From 9cf565e2a208e66faaf02571635499635d4501b2 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 6 Nov 2012 23:54:02 +0000 Subject: [PATCH] Minor improvements to wxEVT_COMMAND_DIRCTRL_CHANGED generation. Set the event object for this event. Also don't skip the original tree event if the wxEVT_COMMAND_DIRCTRL_CHANGED event was handled and disallowed. Closes #14792. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/dirctrlg.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp index 7eba8af2f9..56349938d9 100644 --- a/src/generic/dirctrlg.cpp +++ b/src/generic/dirctrlg.cpp @@ -705,11 +705,18 @@ void wxGenericDirCtrl::OnTreeSelChange(wxTreeEvent &event) { wxTreeEvent changedEvent(wxEVT_COMMAND_DIRCTRL_CHANGED, GetId()); + changedEvent.SetEventObject(this); changedEvent.SetItem(event.GetItem()); changedEvent.SetClientObject(m_treeCtrl->GetItemData(event.GetItem())); - GetEventHandler()->SafelyProcessEvent(changedEvent); - event.Skip(); + if (GetEventHandler()->SafelyProcessEvent(changedEvent) && !changedEvent.IsAllowed()) + { + event.Veto(); + } + else + { + event.Skip(); + } } void wxGenericDirCtrl::OnExpandItem(wxTreeEvent &event) -- 2.45.2