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)
|
if (gs_activeFrame == this)
|
||||||
{
|
{
|
||||||
gs_activeFrame = NULL;
|
gs_activeFrame = NULL;
|
||||||
// activate next frame in Z-order:
|
// activate next frame in Z-order:
|
||||||
if ( m_wnd->prev )
|
if ( m_wnd->prev )
|
||||||
{
|
{
|
||||||
wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
|
wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
|
||||||
win->SetFocus();
|
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)
|
if (!show && gs_activeFrame == this)
|
||||||
{
|
{
|
||||||
// activate next frame in Z-order:
|
// activate next frame in Z-order:
|
||||||
if ( m_wnd->prev )
|
if ( m_wnd->prev )
|
||||||
{
|
{
|
||||||
wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
|
wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
|
||||||
win->SetFocus();
|
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