return false;
}
-// ClosePane() destroys or hides the pane depending on its
-// flags
+// ClosePane() destroys or hides the pane depending on its flags
void wxAuiManager::ClosePane(wxAuiPaneInfo& pane_info)
{
// if we were maximized, restore
}
else
{
- ClosePane(pane);
+ // close the pane, but check that it
+ // still exists in our pane array first
+ // (the event handler above might have removed it)
+
+ wxAuiPaneInfo& check = GetPane(wnd);
+ if (check.IsOk())
+ {
+ ClosePane(pane);
+ }
}
}
if (!e.GetVeto())
{
- ClosePane(pane);
+ // close the pane, but check that it
+ // still exists in our pane array first
+ // (the event handler above might have removed it)
+
+ wxAuiPaneInfo& check = GetPane(pane.window);
+ if (check.IsOk())
+ {
+ ClosePane(pane);
+ }
+
Update();
}
}