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:
@@ -3458,6 +3458,25 @@ void wxPropertyGrid::SetupChildEventHandling( wxWindow* argWnd )
|
|||||||
|
|
||||||
void wxPropertyGrid::FreeEditors()
|
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
|
// Do not free editors immediately if processing events
|
||||||
if ( m_wndEditor2 )
|
if ( m_wndEditor2 )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user