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();