From 44f4f7dda0e604608f0344d72a88c3920f69d035 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 25 May 2012 09:48:22 +0000 Subject: [PATCH] Don't send a huge number of unneeded wxChildFocusEvents. 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 --- src/common/containr.cpp | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/common/containr.cpp b/src/common/containr.cpp index 8490cc5b9f..53d4e01348 100644 --- a/src/common/containr.cpp +++ b/src/common/containr.cpp @@ -174,19 +174,6 @@ void wxControlContainer::SetLastFocus(wxWindow *win) 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); - } - } } // --------------------------------------------------------------------