better handling situation when active frame is destroyed or hidden
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -569,12 +569,17 @@ wxWindowMGL::~wxWindowMGL()
|
||||
|
||||
if (gs_activeFrame == this)
|
||||
{
|
||||
gs_activeFrame = NULL;
|
||||
// activate next frame in Z-order:
|
||||
if ( m_wnd->prev )
|
||||
{
|
||||
wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
|
||||
win->SetFocus();
|
||||
gs_activeFrame = NULL;
|
||||
// activate next frame in Z-order:
|
||||
if ( m_wnd->prev )
|
||||
{
|
||||
wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
|
||||
win->SetFocus();
|
||||
}
|
||||
else if ( m_wnd->next )
|
||||
{
|
||||
wxWindowMGL *win = (wxWindowMGL*)m_wnd->next->userData;
|
||||
win->SetFocus();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -760,11 +765,20 @@ bool wxWindowMGL::Show(bool show)
|
||||
|
||||
if (!show && gs_activeFrame == this)
|
||||
{
|
||||
// activate next frame in Z-order:
|
||||
if ( m_wnd->prev )
|
||||
{
|
||||
wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
|
||||
win->SetFocus();
|
||||
// activate next frame in Z-order:
|
||||
if ( m_wnd->prev )
|
||||
{
|
||||
wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
|
||||
win->SetFocus();
|
||||
}
|
||||
else if ( m_wnd->next )
|
||||
{
|
||||
wxWindowMGL *win = (wxWindowMGL*)m_wnd->next->userData;
|
||||
win->SetFocus();
|
||||
}
|
||||
else
|
||||
{
|
||||
gs_activeFrame = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user