git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56236
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
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
if ( m_wndEditor2 )
{
// Do not free editors immediately if processing events
if ( m_wndEditor2 )
{