fixed (at least some of) the focus asserts

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2001-11-28 19:50:37 +00:00
parent a3b72ffb8f
commit 83c865f518

View File

@@ -50,18 +50,21 @@ wxControlContainer::wxControlContainer(wxWindow *winParent)
void wxControlContainer::SetLastFocus(wxWindow *win)
{
// find the last _immediate_ child which got focus
while ( win )
// if we're setting the focus
if ( win )
{
wxWindow *winParent = win->GetParent();
if ( winParent == m_winParent )
break;
// find the last _immediate_ child which got focus but be prepared to
// handle the case when win == m_winParent as well
wxWindow *winParent = win;
while ( winParent != m_winParent )
{
win = winParent;
winParent = win->GetParent();
}
win = winParent;
wxASSERT_MSG( win, _T("attempt to set last focus to not a child?") );
}
wxASSERT_MSG( win, _T("attempt to set last focus to not a child?") );
m_winLastFocused = win;
}