From e1f89037c3a54f03ac69d231e34c6e3d816e2a93 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 10 Jan 2014 11:55:28 +0100 Subject: fix memory leaks in MSVC generators Change-Id: I11bfc8259ac4e175c9ecc37d64f1d2e5037f15aa Reviewed-by: Oswald Buddenhagen --- qmake/generators/win32/msbuild_objectmodel.cpp | 7 ++++--- qmake/generators/win32/msvc_objectmodel.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'qmake') diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index f5a6e15a7b..d1420e95f6 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -44,6 +44,7 @@ #include "msvc_objectmodel.h" #include "msvc_vcproj.h" #include "msvc_vcxproj.h" +#include #include #include @@ -1756,11 +1757,11 @@ void VCXProjectWriter::addFilters(VCProject &project, XmlOutput &xmlFilter, cons // outputs a given filter for all existing configurations of a project void VCXProjectWriter::outputFilter(VCProject &project, XmlOutput &xml, XmlOutput &xmlFilter, const QString &filtername) { - XNode *root; + QScopedPointer root; if (project.SingleProjects.at(0).flat_files) - root = new XFlatNode; + root.reset(new XFlatNode); else - root = new XTreeNode; + root.reset(new XTreeNode); for (int i = 0; i < project.SingleProjects.count(); ++i) { VCFilter filter; diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp index 019bb2504d..8159cf58e2 100644 --- a/qmake/generators/win32/msvc_objectmodel.cpp +++ b/qmake/generators/win32/msvc_objectmodel.cpp @@ -42,6 +42,7 @@ #include "msvc_objectmodel.h" #include "msvc_vcproj.h" #include "msvc_vcxproj.h" +#include #include #include @@ -2854,11 +2855,11 @@ void VCProjectWriter::write(XmlOutput &xml, VCFilter &tool) // outputs a given filter for all existing configurations of a project void VCProjectWriter::outputFilter(VCProject &project, XmlOutput &xml, const QString &filtername) { - Node *root; + QScopedPointer root; if (project.SingleProjects.at(0).flat_files) - root = new FlatNode; + root.reset(new FlatNode); else - root = new TreeNode; + root.reset(new TreeNode); QString name, extfilter, guid; triState parse = unset; -- cgit v1.2.3