diff --git a/src/common/containr.cpp b/src/common/containr.cpp index 04a7794bfe..51a0e1744b 100644 --- a/src/common/containr.cpp +++ b/src/common/containr.cpp @@ -273,6 +273,23 @@ bool wxControlContainer::DoSetFocus() // // RR: Removed for now. Let's see what happens.. + // if our child already has focus, don't take it away from it + wxWindow *win = wxWindow::FindFocus(); + while ( win ) + { + if ( win == m_winParent ) + return TRUE; + + if ( win->IsTopLevel() ) + { + // don't look beyond the first top level parent - useless and + // unnecessary + break; + } + + win = win->GetParent(); + } + return SetFocusToChild(); }