From: Vadim Zeitlin Date: Wed, 14 Nov 2001 01:26:14 +0000 (+0000) Subject: fixed wxFrame::IconizeChildFrames() bug which would restore the child frame even... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/9327c3aa027ed135748cf2f059d1555198b02d24 fixed wxFrame::IconizeChildFrames() bug which would restore the child frame even if it had been iconized before the main frame was git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/msw/frame.h b/include/wx/msw/frame.h index ed17ffef9b..300931980a 100644 --- a/include/wx/msw/frame.h +++ b/include/wx/msw/frame.h @@ -155,6 +155,9 @@ private: WXHWND m_hwndToolTip; #endif // tooltips + // used by IconizeChildFrames(), see comments there + bool m_wasMinimized; + DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxFrame) }; diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index 3b555428be..57ac80ebfc 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -112,6 +112,8 @@ void wxFrame::Init() m_fsToolBarHeight = 0; // m_fsMenu = 0; + m_wasMinimized = FALSE; + m_winLastFocused = (wxWindow *)NULL; } @@ -523,7 +525,18 @@ void wxFrame::IconizeChildFrames(bool bIconize) #endif // wxUSE_MDI_ARCHITECTURE ) { - frame->Iconize(bIconize); + // we don't want to restore the child frames which had been + // iconized even before we were iconized, so save the child frame + // status when iconizing the parent frame and check it when + // restoring it + if ( bIconize ) + { + frame->m_wasMinimized = frame->IsIconized(); + } + + // this test works for both iconizing and restoring + if ( !frame->m_wasMinimized ) + frame->Iconize(bIconize); } } }