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)