- extern wxWindow* g_GettingFocus;
- if (g_GettingFocus && g_GettingFocus->GetParent() == win)
- {
- // Ignore this, this can be a spurious FocusIn
- // caused by a child having its focus set.
- g_GettingFocus = NULL;
- wxLogTrace( _T("focus"), _T("FocusIn from %s of type %s being deliberately ignored"), win->GetName().c_str(), win->GetClassInfo()->GetClassName() );
- return TRUE;
- }
- else
- {
- wxFocusEvent focusEvent(wxEVT_SET_FOCUS, win->GetId());
- focusEvent.SetEventObject(win);
- focusEvent.SetWindow( g_prevFocus );
- g_prevFocus = NULL;
-
- return win->GetEventHandler()->ProcessEvent(focusEvent);
- }