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:
Václav Slavík
2002-03-17 21:44:31 +00:00
parent baf736e1f3
commit 66858adfc4

View File

@@ -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;
}
}