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,17 +50,20 @@ 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 )
{
// 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 )
{ {
wxWindow *winParent = win->GetParent();
if ( winParent == m_winParent )
break;
win = winParent; win = winParent;
winParent = win->GetParent();
} }
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;
} }