aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/advanceddockingsystem/dockmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/advanceddockingsystem/dockmanager.cpp')
-rw-r--r--src/libs/advanceddockingsystem/dockmanager.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libs/advanceddockingsystem/dockmanager.cpp b/src/libs/advanceddockingsystem/dockmanager.cpp
index 15e7a9dbb1..af66f03b1a 100644
--- a/src/libs/advanceddockingsystem/dockmanager.cpp
+++ b/src/libs/advanceddockingsystem/dockmanager.cpp
@@ -94,6 +94,7 @@ public:
QtcSettings *m_settings = nullptr;
bool m_modeChangeState = false;
+ bool m_wasShown = false;
bool m_workspaceOrderDirty = false;
/**
@@ -364,8 +365,10 @@ DockManager::DockManager(QWidget *parent)
DockManager::~DockManager()
{
- emit aboutToUnloadWorkspace(d->m_workspace.fileName());
- save();
+ if (d->m_wasShown) {
+ emit aboutToUnloadWorkspace(d->m_workspace.fileName());
+ save();
+ }
saveStartupWorkspace();
saveLockWorkspace();
@@ -1324,6 +1327,11 @@ bool DockManager::isModeChangeState() const
return d->m_modeChangeState;
}
+void DockManager::aboutToShow()
+{
+ d->m_wasShown = true;
+}
+
expected_str<QString> DockManager::importWorkspace(const QString &filePath)
{
qCInfo(adsLog) << "Import workspace" << filePath;