From 4bece54f34bb53d024eeec86fe9b5d273bc36a90 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Thu, 2 Apr 2009 19:38:19 +0200
Subject: [PATCH] re-initialize some variables for each file

merge 3570e978058816745101a69b552ad9d07e349542 and
00f2031c60bc472544b509586ee31c643ab2e81d from qt.
---
 src/shared/proparser/profileevaluator.cpp | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index bbfeba7dd7e..19041d7bb77 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -224,15 +224,15 @@ public:
 ProFileEvaluator::Private::Private(ProFileEvaluator *q_)
   : q(q_)
 {
+    // Global parser state
     m_prevLineNo = 0;
     m_prevProFile = 0;
+
+    // Configuration, more or less
     m_verbose = true;
-    m_block = 0;
-    m_commentItem = 0;
-    m_syntaxError = 0;
-    m_lineNo = 0;
-    m_contNextLine = false;
     m_cumulative = true;
+
+    // Evaluator state
     m_updateCondition = false;
     m_condition = ConditionFalse;
     m_invertNext = false;
@@ -248,8 +248,13 @@ bool ProFileEvaluator::Private::read(ProFile *pro)
         return false;
     }
 
+    // Parser state
+    m_block = 0;
+    m_commentItem = 0;
+    m_contNextLine = false;
     m_syntaxError = false;
     m_lineNo = 1;
+    m_blockstack.clear();
     m_blockstack.push(pro);
 
     QTextStream ts(&file);
-- 
GitLab