From 2e9a9cfa4a2cbdc7f48fd347b3b4d2b08febe978 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Wed, 22 Jul 2009 10:30:08 +0200
Subject: [PATCH] plug memory leak

it's a bad idea to conditionalize a cleanup on a completely unrelated
variable.
---
 src/shared/proparser/profileevaluator.cpp | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 2f3e10f9ea0..eec703fc8a3 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -856,15 +856,15 @@ ProItem::ProItemReturn ProFileEvaluator::Private::visitEndProFile(ProFile * pro)
                 }
                 m_cumulative = cumulative;
             }
-
-            foreach (ProBlock *itm, m_replaceFunctions)
-                itm->deref();
-            m_replaceFunctions.clear();
-            foreach (ProBlock *itm, m_testFunctions)
-                itm->deref();
-            m_testFunctions.clear();
         }
 
+        foreach (ProBlock *itm, m_replaceFunctions)
+            itm->deref();
+        m_replaceFunctions.clear();
+        foreach (ProBlock *itm, m_testFunctions)
+            itm->deref();
+        m_testFunctions.clear();
+
         m_profileStack.pop();
         return returnBool(QDir::setCurrent(m_oldPath));
     }
-- 
GitLab