IDocument: Don't leak MinimizableInfoBars on shutdown

Detected by memory analyzer.

Change-Id: I756cbc2aad60270ea1dafbf12157a610a514dbcb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Jarek Kobus
2022-06-27 14:39:20 +02:00
parent 1a144b4bdd
commit 3f8644abff

View File

@@ -34,6 +34,8 @@
#include <QFile>
#include <QFileInfo>
#include <memory>
/*!
\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> minimizableInfoBars;
Id id;
optional<bool> 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();
}
/*!