don't propagate wxChildFocusEvent outside of wxTLWs

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-06-13 15:35:57 +00:00
parent 105260e89f
commit 6b6bd02c07

View File

@@ -141,12 +141,16 @@ void wxControlContainer::SetLastFocus(wxWindow *win)
} }
// propagate the last focus upwards so that our parent can set focus back // propagate the last focus upwards so that our parent can set focus back
// to us if it loses it now and regains later // to us if it loses it now and regains later; do *not* do this if we are
wxWindow *parent = m_winParent->GetParent(); // a toplevel window (e.g. wxDialog) that has another frame as its parent
if ( parent ) if ( !m_winParent->IsTopLevel() )
{ {
wxChildFocusEvent eventFocus(m_winParent); wxWindow *parent = m_winParent->GetParent();
parent->GetEventHandler()->ProcessEvent(eventFocus); if ( parent )
{
wxChildFocusEvent eventFocus(m_winParent);
parent->GetEventHandler()->ProcessEvent(eventFocus);
}
} }
} }