fix crash when no command line options are passed to qmake

the root cause is in the API of parsedProFile(): it discerns
isNull() and isEmpty(), which is of course a time bomb.
but in this case the right solution is not trying to parse
the empty string in the first place.
This commit is contained in:
Oswald Buddenhagen
2010-09-02 17:55:42 +02:00
parent ee8ea6dfdb
commit 34a8a57d81

View File

@@ -1273,6 +1273,7 @@ ProFileEvaluator::Private::VisitReturn ProFileEvaluator::Private::visitProFile(
if (tgt.isEmpty()) if (tgt.isEmpty())
tgt.append(ProString(QFileInfo(pro->fileName()).baseName(), NoHash)); tgt.append(ProString(QFileInfo(pro->fileName()).baseName(), NoHash));
if (!m_cmdArgs.isEmpty()) {
if (ProFile *pro = m_parser->parsedProFile( if (ProFile *pro = m_parser->parsedProFile(
fL1S("(command line)"), false, m_cmdArgs.join(fL1S("\n")))) { fL1S("(command line)"), false, m_cmdArgs.join(fL1S("\n")))) {
m_locationStack.push(m_current); m_locationStack.push(m_current);
@@ -1280,6 +1281,7 @@ ProFileEvaluator::Private::VisitReturn ProFileEvaluator::Private::visitProFile(
m_current = m_locationStack.pop(); m_current = m_locationStack.pop();
pro->deref(); pro->deref();
} }
}
} }
visitProBlock(pro, pro->tokPtr()); visitProBlock(pro, pro->tokPtr());