forked from qt-creator/qt-creator
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:
@@ -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);
|
||||||
@@ -1281,6 +1282,7 @@ ProFileEvaluator::Private::VisitReturn ProFileEvaluator::Private::visitProFile(
|
|||||||
pro->deref();
|
pro->deref();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
visitProBlock(pro, pro->tokPtr());
|
visitProBlock(pro, pro->tokPtr());
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user