Set focus back to canvas when child editors are being destroyed (fixes wxGTK property selection focus bug)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli 2008-10-12 11:13:21 +00:00
parent 9f330429af
commit d35947a23f

View File

@ -3458,6 +3458,25 @@ void wxPropertyGrid::SetupChildEventHandling( wxWindow* argWnd )
void wxPropertyGrid::FreeEditors()
{
//
// Return focus back to canvas from children (this is required at least for
// GTK+, which, unlike Windows, clears focus when control is destroyed
// instead of moving it to closest parent).
wxWindow* focus = wxWindow::FindFocus();
if ( focus )
{
wxWindow* parent = focus->GetParent();
while ( parent )
{
if ( parent == m_canvas )
{
SetFocusOnCanvas();
break;
}
parent = parent->GetParent();
}
}
// Do not free editors immediately if processing events
if ( m_wndEditor2 )
{