From c3a04c1873196fa475cb415b45b1a0a03a9e53a3 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Fri, 18 Jan 2019 20:29:45 +0100 Subject: [PATCH] GenericProject: fix memory leak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I5f5811229c6311fa19432a5018a1da33ead7894a Reviewed-by: André Hartmann Reviewed-by: Christian Kandeler Reviewed-by: Tim Jenssen --- src/plugins/genericprojectmanager/genericproject.cpp | 5 +++++ src/plugins/genericprojectmanager/genericproject.h | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index d496f097f4b..3162fecd8eb 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -225,6 +225,11 @@ GenericProject::GenericProject(const Utils::FileName &fileName) : GenericProject::~GenericProject() { delete m_cppCodeModelUpdater; + m_filesIDocument->deleteLater(); + m_includesIDocument->deleteLater(); + m_configIDocument->deleteLater(); + m_cxxFlagsIDocument->deleteLater(); + m_cFlagsIDocument->deleteLater(); } static QStringList readLines(const QString &absoluteFileName) diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h index 4bb6f35feb7..0a1469588cb 100644 --- a/src/plugins/genericprojectmanager/genericproject.h +++ b/src/plugins/genericprojectmanager/genericproject.h @@ -74,11 +74,11 @@ private: QString m_configFileName; QString m_cxxflagsFileName; QString m_cflagsFileName; - ProjectExplorer::ProjectDocument *m_filesIDocument; - ProjectExplorer::ProjectDocument *m_includesIDocument; - ProjectExplorer::ProjectDocument *m_configIDocument; - ProjectExplorer::ProjectDocument *m_cxxFlagsIDocument; - ProjectExplorer::ProjectDocument *m_cFlagsIDocument; + ProjectExplorer::ProjectDocument *m_filesIDocument = nullptr; + ProjectExplorer::ProjectDocument *m_includesIDocument = nullptr; + ProjectExplorer::ProjectDocument *m_configIDocument = nullptr; + ProjectExplorer::ProjectDocument *m_cxxFlagsIDocument = nullptr; + ProjectExplorer::ProjectDocument *m_cFlagsIDocument = nullptr; QStringList m_rawFileList; QStringList m_files; QHash m_rawListEntries; @@ -90,7 +90,7 @@ private: CppTools::CppProjectUpdater *m_cppCodeModelUpdater = nullptr; ProjectExplorer::Target *m_activeTarget = nullptr; - Utils::FileSystemWatcher * const m_deployFileWatcher; + Utils::FileSystemWatcher * const m_deployFileWatcher = nullptr; }; } // namespace Internal