wxControlContainer::SetLastFocus() propagated wxChildFocusEvent explicitly to
its parent but this is not needed because wxChildFocusEvents propagate by
default, being derived from wxCommandEvent. And doing it again resulted in the
total number of events increasing exponentially with the depth of the window
hierarchy and real performance problems due to processing all of them.
Closes #14310.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71559
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
wxLogTrace(TRACE_FOCUS, wxT("No more last focus"));
}
}
-
- // propagate the last focus upwards so that our parent can set focus back
- // to us if it loses it now and regains later; do *not* do this if we are
- // a toplevel window (e.g. wxDialog) that has another frame as its parent
- if ( !m_winParent->IsTopLevel() )
- {
- wxWindow *parent = m_winParent->GetParent();
- if ( parent )
- {
- wxChildFocusEvent eventFocus(m_winParent);
- parent->GetEventHandler()->ProcessEvent(eventFocus);
- }
- }
}
// --------------------------------------------------------------------