Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
4.5.0
-
None
-
3570e978058816745101a69b552ad9d07e349542
Description
I found a bug during mass rebuild for Fedora 11. There're steps to reproduce
the crash in lupdate/lrelease.
- get the tar file scidavis-0.1.4.tar.bz2 from http://scidavis.sourceforge.net/
- try to rebuild it with qt-4.5.0, you will see the crash
This problem doesn't show up in Qt-4.4.x. I made a patch that resolves the
crash for me. It's great if you could review it and add it in next Qt update.
For more infos please take a look at
https://bugzilla.redhat.com/show_bug.cgi?id=486866
patch:
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()
+
+
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))
++m_lineNo;
}
+
+ cleanup();
return true;
}