From c160e12f207f46a117e49b5d022da40582c8a9de Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Mon, 30 Aug 2021 18:56:18 +0200 Subject: [PATCH] UI: Call the deleteAllContent to clear all the VivyDocumentView's widgets at destruction time --- src/UI/AbstractDocumentView.cc | 2 +- src/UI/MainWindow.cc | 4 +--- src/UI/VivyDocumentView.cc | 9 ++------- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/UI/AbstractDocumentView.cc b/src/UI/AbstractDocumentView.cc index 70b1c241..d56a35bd 100644 --- a/src/UI/AbstractDocumentView.cc +++ b/src/UI/AbstractDocumentView.cc @@ -34,7 +34,7 @@ AbstractDocumentView::deleteAllContent() noexcept delete item->widget(); delete item; } - delete layout(); // XXX + delete layout(); } } diff --git a/src/UI/MainWindow.cc b/src/UI/MainWindow.cc index dca4130d..a322dab0 100644 --- a/src/UI/MainWindow.cc +++ b/src/UI/MainWindow.cc @@ -168,9 +168,7 @@ void MainWindow::closeEvent(QCloseEvent *event) noexcept { qDebug() << "Closing the main window!"; - forEachViews<VivyDocumentView>( - [](VivyDocumentView *view, int) { view->closeDocument(); }); // XXX - // event->accept(); + forEachViews<VivyDocumentView>([](VivyDocumentView *view, int) { view->closeDocument(); }); QMainWindow::closeEvent(event); } diff --git a/src/UI/VivyDocumentView.cc b/src/UI/VivyDocumentView.cc index 8bb95c5c..be743791 100644 --- a/src/UI/VivyDocumentView.cc +++ b/src/UI/VivyDocumentView.cc @@ -40,7 +40,8 @@ VivyDocumentView::~VivyDocumentView() noexcept qDebug() << "Deleting the document view: ref count on document" << document->getName() << "is" << document.use_count() << "and" << (visualizer ? "has visualizer" : "without visualizer"); - closeDocument(); + + deleteAllContent(); } VivyDocument * @@ -148,12 +149,6 @@ VivyDocumentView::closeDocument() noexcept << document.use_count() << ")"; vivyApp->documentStore.closeDocument(document->getUuid()); allowToCloseAllDocks(); - - // Kubat: the visualizer pointer should have been deleted by the - // deleteAllContent() call if it was created. - // deleteAllContent(); - // visualizer = nullptr; - // property = nullptr; } QIcon -- GitLab