From 3f8644abff46ff9404fff4b120c844a938d0bf22 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Mon, 27 Jun 2022 14:39:20 +0200 Subject: [PATCH] IDocument: Don't leak MinimizableInfoBars on shutdown Detected by memory analyzer. Change-Id: I756cbc2aad60270ea1dafbf12157a610a514dbcb Reviewed-by: Eike Ziller --- src/plugins/coreplugin/idocument.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/coreplugin/idocument.cpp b/src/plugins/coreplugin/idocument.cpp index 9dfe282a1f7..114f9914d3f 100644 --- a/src/plugins/coreplugin/idocument.cpp +++ b/src/plugins/coreplugin/idocument.cpp @@ -34,6 +34,8 @@ #include #include +#include + /*! \class Core::IDocument \inheaderfile coreplugin/idocument.h @@ -227,7 +229,7 @@ public: QString uniqueDisplayName; Utils::FilePath autoSavePath; Utils::InfoBar *infoBar = nullptr; - MinimizableInfoBars *minimizableInfoBars = nullptr; + std::unique_ptr minimizableInfoBars; Id id; optional fileIsReadOnly; bool temporary = false; @@ -683,8 +685,8 @@ Utils::InfoBar *IDocument::infoBar() MinimizableInfoBars *IDocument::minimizableInfoBars() { if (!d->minimizableInfoBars) - d->minimizableInfoBars = new Utils::MinimizableInfoBars(*infoBar()); - return d->minimizableInfoBars; + d->minimizableInfoBars.reset(new Utils::MinimizableInfoBars(*infoBar())); + return d->minimizableInfoBars.get(); } /*!