From 7feed7318b3ca52d56cb6eb8f11233f32bdcae09 Mon Sep 17 00:00:00 2001
From: Sebastian Hartte <sebastian@hartte.de>
Date: Tue, 6 Jul 2010 15:19:53 +0200
Subject: [PATCH] Fixed a crash when deleting files from a project under
 certain conditions

Task-number: QTCREATORBUG-1804
Merge-request: 2168
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
---
 src/shared/proparser/prowriter.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/shared/proparser/prowriter.cpp b/src/shared/proparser/prowriter.cpp
index d86856bb8a9..392443b0a75 100644
--- a/src/shared/proparser/prowriter.cpp
+++ b/src/shared/proparser/prowriter.cpp
@@ -229,18 +229,18 @@ void ProWriter::addVarValues(ProFile *profile, QStringList *lines,
 }
 
 static void findProVariables(const ushort *tokPtr, const QStringList &vars,
-                             QList<int> *proVars)
+                             QList<int> *proVars, const uint firstLine = 0)
 {
-    int lineNo = 0;
+    int lineNo = firstLine;
     QString tmp;
     const ushort *lastXpr = 0;
     while (ushort tok = *tokPtr++) {
         if (tok == TokBranch) {
             uint blockLen = getBlockLen(tokPtr);
-            findProVariables(tokPtr, vars, proVars);
+            findProVariables(tokPtr, vars, proVars, lineNo);
             tokPtr += blockLen;
             blockLen = getBlockLen(tokPtr);
-            findProVariables(tokPtr, vars, proVars);
+            findProVariables(tokPtr, vars, proVars, lineNo);
             tokPtr += blockLen;
         } else if (tok == TokAssign || tok == TokAppend || tok == TokAppendUnique) {
             if (getLiteral(lastXpr, tokPtr - 1, tmp) && vars.contains(tmp))
-- 
GitLab