From: Vadim Zeitlin Date: Wed, 3 Nov 2010 16:29:30 +0000 (+0000) Subject: Don't dock undockable panes in wxAuiManager::LoadPerspective(). X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/30b08886479677bfb9437654e4a289091bab2b87 Don't dock undockable panes in wxAuiManager::LoadPerspective(). All panes were docked when loading a perspective, including those that were created to be non-dockable. Don't dock the latter ones now. Closes #12648. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/aui/framemanager.cpp b/src/aui/framemanager.cpp index f9b29c1f75..9823475463 100644 --- a/src/aui/framemanager.cpp +++ b/src/aui/framemanager.cpp @@ -1570,10 +1570,15 @@ bool wxAuiManager::LoadPerspective(const wxString& layout, bool update) if (part != wxT("layout2")) return false; - // mark all panes currently managed as docked and hidden + // Mark all panes currently managed as hidden. Also, dock all panes that are dockable. int pane_i, pane_count = m_panes.GetCount(); for (pane_i = 0; pane_i < pane_count; ++pane_i) - m_panes.Item(pane_i).Dock().Hide(); + { + wxAuiPaneInfo& p = m_panes.Item(pane_i); + if(p.IsDockable()) + p.Dock(); + p.Hide(); + } // clear out the dock array; this will be reconstructed m_docks.Clear();