qt/qt-x11-opensource-src-4.5.0...

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;
}