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:
parent
9f330429af
commit
d35947a23f
@ -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 )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user