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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user