forked from qt-creator/qt-creator
fix basic variables not being initialized any more
QMAKE_INTERNAL_INCLUDED_FEATURES is added even before loading the first prf file, so the check for an empty value map would never trigger. use a flag variable instead. Change-Id: If0af31d8466eadb90eca2a2e4024eff03b54e3b1 Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
@@ -185,6 +185,7 @@ QMakeEvaluator::QMakeEvaluator(QMakeGlobals *option,
|
||||
m_loopLevel = 0;
|
||||
m_listCount = 0;
|
||||
m_valuemapStack.push(ProValueMap());
|
||||
m_valuemapInited = false;
|
||||
}
|
||||
|
||||
QMakeEvaluator::~QMakeEvaluator()
|
||||
@@ -196,6 +197,7 @@ void QMakeEvaluator::initFrom(const QMakeEvaluator &other)
|
||||
Q_ASSERT_X(&other, "QMakeEvaluator::visitProFile", "Project not prepared");
|
||||
m_functionDefs = other.m_functionDefs;
|
||||
m_valuemapStack = other.m_valuemapStack;
|
||||
m_valuemapInited = true;
|
||||
m_qmakespec = other.m_qmakespec;
|
||||
m_qmakespecFull = other.m_qmakespecFull;
|
||||
m_qmakespecName = other.m_qmakespecName;
|
||||
@@ -947,6 +949,8 @@ void QMakeEvaluator::loadDefaults()
|
||||
vars[ProString("QMAKE_HOST.arch")] << ProString(name.machine, NoHash);
|
||||
}
|
||||
#endif
|
||||
|
||||
m_valuemapInited = true;
|
||||
}
|
||||
|
||||
bool QMakeEvaluator::prepareProject(const QString &inDir)
|
||||
@@ -1201,7 +1205,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProFile(
|
||||
|
||||
initFrom(*baseEnv->evaluator);
|
||||
} else {
|
||||
if (m_valuemapStack.at(0).isEmpty())
|
||||
if (!m_valuemapInited)
|
||||
loadDefaults();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user