forked from qt-creator/qt-creator
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:
@@ -34,6 +34,8 @@
|
|||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\class Core::IDocument
|
\class Core::IDocument
|
||||||
\inheaderfile coreplugin/idocument.h
|
\inheaderfile coreplugin/idocument.h
|
||||||
@@ -227,7 +229,7 @@ public:
|
|||||||
QString uniqueDisplayName;
|
QString uniqueDisplayName;
|
||||||
Utils::FilePath autoSavePath;
|
Utils::FilePath autoSavePath;
|
||||||
Utils::InfoBar *infoBar = nullptr;
|
Utils::InfoBar *infoBar = nullptr;
|
||||||
MinimizableInfoBars *minimizableInfoBars = nullptr;
|
std::unique_ptr<MinimizableInfoBars> minimizableInfoBars;
|
||||||
Id id;
|
Id id;
|
||||||
optional<bool> fileIsReadOnly;
|
optional<bool> fileIsReadOnly;
|
||||||
bool temporary = false;
|
bool temporary = false;
|
||||||
@@ -683,8 +685,8 @@ Utils::InfoBar *IDocument::infoBar()
|
|||||||
MinimizableInfoBars *IDocument::minimizableInfoBars()
|
MinimizableInfoBars *IDocument::minimizableInfoBars()
|
||||||
{
|
{
|
||||||
if (!d->minimizableInfoBars)
|
if (!d->minimizableInfoBars)
|
||||||
d->minimizableInfoBars = new Utils::MinimizableInfoBars(*infoBar());
|
d->minimizableInfoBars.reset(new Utils::MinimizableInfoBars(*infoBar()));
|
||||||
return d->minimizableInfoBars;
|
return d->minimizableInfoBars.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
Reference in New Issue
Block a user