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) void wxControlContainer::SetLastFocus(wxWindow *win)
{ {
// find the last _immediate_ child which got focus // if we're setting the focus
while ( win ) if ( win )
{ {
wxWindow *winParent = win->GetParent(); // find the last _immediate_ child which got focus but be prepared to
if ( winParent == m_winParent ) // handle the case when win == m_winParent as well
break; 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; m_winLastFocused = win;
} }