42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
diff -up qt-x11-opensource-src-4.5.0/tools/linguist/shared/profileevaluator.cpp.orig qt-x11-opensource-src-4.5.0/tools/linguist/shared/profileevaluator.cpp
|
|
--- qt-x11-opensource-src-4.5.0/tools/linguist/shared/profileevaluator.cpp.orig 2009-03-16 12:50:03.000000000 +0100
|
|
+++ qt-x11-opensource-src-4.5.0/tools/linguist/shared/profileevaluator.cpp 2009-03-17 00:42:51.000000000 +0100
|
|
@@ -86,6 +86,7 @@ public:
|
|
void enterScope(bool multiLine);
|
|
void leaveScope();
|
|
void finalizeBlock();
|
|
+ void cleanup();
|
|
|
|
// implementation of AbstractProItemVisitor
|
|
bool visitBeginProBlock(ProBlock *block);
|
|
@@ -164,6 +165,15 @@ ProFileEvaluator::Private::Private(ProFi
|
|
m_contNextLine = false;
|
|
}
|
|
|
|
+void ProFileEvaluator::Private::cleanup()
|
|
+{
|
|
+ m_commentItem = 0;
|
|
+ m_block = 0;
|
|
+ m_proitem.clear();
|
|
+ m_blockstack.clear();
|
|
+ m_pendingComment.clear();
|
|
+}
|
|
+
|
|
bool ProFileEvaluator::Private::read(ProFile *pro)
|
|
{
|
|
QFile file(pro->fileName());
|
|
@@ -180,11 +190,14 @@ bool ProFileEvaluator::Private::read(Pro
|
|
while (!ts.atEnd()) {
|
|
QString line = ts.readLine();
|
|
if (!parseLine(line)) {
|
|
+ cleanup();
|
|
q->errorMessage(format(".pro parse failure."));
|
|
return false;
|
|
}
|
|
++m_lineNo;
|
|
}
|
|
+
|
|
+ cleanup();
|
|
return true;
|
|
}
|