applied patch 1908782 wxAuiMDIChildFrame not removed from wxAuiMDIClientWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
a37e742445
commit
8691bf118c
@ -417,10 +417,20 @@ wxAuiMDIChildFrame::wxAuiMDIChildFrame(wxAuiMDIParentFrame *parent,
|
|||||||
wxAuiMDIChildFrame::~wxAuiMDIChildFrame()
|
wxAuiMDIChildFrame::~wxAuiMDIChildFrame()
|
||||||
{
|
{
|
||||||
wxAuiMDIParentFrame* pParentFrame = GetMDIParentFrame();
|
wxAuiMDIParentFrame* pParentFrame = GetMDIParentFrame();
|
||||||
if (pParentFrame && pParentFrame->GetActiveChild() == this)
|
if (pParentFrame)
|
||||||
{
|
{
|
||||||
pParentFrame->SetActiveChild(NULL);
|
if (pParentFrame->GetActiveChild() == this)
|
||||||
pParentFrame->SetChildMenuBar(NULL);
|
{
|
||||||
|
pParentFrame->SetActiveChild(NULL);
|
||||||
|
pParentFrame->SetChildMenuBar(NULL);
|
||||||
|
}
|
||||||
|
wxAuiMDIClientWindow* pClientWindow = pParentFrame->GetClientWindow();
|
||||||
|
wxASSERT(pClientWindow);
|
||||||
|
int idx = pClientWindow->GetPageIndex(this);
|
||||||
|
if (idx != wxNOT_FOUND)
|
||||||
|
{
|
||||||
|
pClientWindow->RemovePage(idx);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxUSE_MENUS
|
#if wxUSE_MENUS
|
||||||
@ -768,7 +778,7 @@ void wxAuiMDIClientWindow::PageChanged(int old_selection, int new_selection)
|
|||||||
|
|
||||||
|
|
||||||
// notify old active child that it has been deactivated
|
// notify old active child that it has been deactivated
|
||||||
if (old_selection != -1)
|
if ((old_selection != -1) && (old_selection < (int)GetPageCount()))
|
||||||
{
|
{
|
||||||
wxAuiMDIChildFrame* old_child = (wxAuiMDIChildFrame*)GetPage(old_selection);
|
wxAuiMDIChildFrame* old_child = (wxAuiMDIChildFrame*)GetPage(old_selection);
|
||||||
wxASSERT_MSG(old_child, wxT("wxAuiMDIClientWindow::PageChanged - null page pointer"));
|
wxASSERT_MSG(old_child, wxT("wxAuiMDIClientWindow::PageChanged - null page pointer"));
|
||||||
|
Loading…
Reference in New Issue
Block a user