From 5a02940cb7f7b96f175f211b5b518f2a9099aa31 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Mon, 30 Aug 2021 19:03:49 +0200 Subject: [PATCH] UI: Ensure the delete of the contained widget in the UnclosableDockWidget at destruction time --- src/UI/UnclosableDockWidget.cc | 9 ++++++++- src/UI/UnclosableDockWidget.hh | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/UI/UnclosableDockWidget.cc b/src/UI/UnclosableDockWidget.cc index 583948db..e08d2f73 100644 --- a/src/UI/UnclosableDockWidget.cc +++ b/src/UI/UnclosableDockWidget.cc @@ -9,6 +9,14 @@ UnclosableDockWidget::UnclosableDockWidget(const QString &name, QWidget *parent) DockWidgetTitleBar::addToDock(this); } +UnclosableDockWidget::~UnclosableDockWidget() noexcept +{ + QWidget *w = widget(); + if (w != nullptr) + delete w; + setWidget(nullptr); +} + void UnclosableDockWidget::closeEvent(QCloseEvent *event) noexcept { @@ -21,6 +29,5 @@ UnclosableDockWidget::closeEvent(QCloseEvent *event) noexcept void UnclosableDockWidget::allowClose() noexcept { - // qDebug() << "Dock" << windowTitle() << "is now allowed to be closed"; allowedToClose = true; } diff --git a/src/UI/UnclosableDockWidget.hh b/src/UI/UnclosableDockWidget.hh index 99b4a37b..204a1172 100644 --- a/src/UI/UnclosableDockWidget.hh +++ b/src/UI/UnclosableDockWidget.hh @@ -10,6 +10,7 @@ class UnclosableDockWidget final : public QDockWidget { public: explicit UnclosableDockWidget(const QString &, QWidget *parent) noexcept; + ~UnclosableDockWidget() noexcept override; void allowClose() noexcept; protected: -- GitLab