From e2c808f576eac08f68af6b37e9108f6c605c36dd Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Fri, 8 Jan 2021 14:00:36 +0100 Subject: [PATCH] AdvancedDockingSystem: Fix crash on shutdown In some cases the last floatingWidget seems to be partially destructed. Checking for the parent checks for this case. Change-Id: I27cb750d846e71b9ab4423700120e2c659a02adc Reviewed-by: Thomas Hartmann --- src/libs/advanceddockingsystem/dockmanager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libs/advanceddockingsystem/dockmanager.cpp b/src/libs/advanceddockingsystem/dockmanager.cpp index dd67af205a2..adfc23bbf4d 100644 --- a/src/libs/advanceddockingsystem/dockmanager.cpp +++ b/src/libs/advanceddockingsystem/dockmanager.cpp @@ -358,7 +358,9 @@ namespace ADS saveStartupWorkspace(); for (auto floatingWidget : d->m_floatingWidgets) { - if (floatingWidget) + /* There have been crashes with partially destructed widgets in + m_floatingWidgets. Those do not have a parent. */ + if (floatingWidget && floatingWidget->parent() == this) delete floatingWidget.data(); } d->m_floatingWidgets.clear();