make QMakeProject's copy c'tor actually behave like one
instead of initializing base_vars with the original's vars, initialize vars itself. this has two consequences: - there is no need to call read(0) to initialize vars - one cannot usefully call the complex read() anymore, as that would re-initialize vars from base_vars this is much closer to an actual copy than the previous "seeding with existing project". Change-Id: Ib007bc5b779aedb680a27329aa578f7c604a4308 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
This commit is contained in:
parent
ff25691d00
commit
703ef4f79e
@ -178,7 +178,6 @@ ProjectBuilderMakefileGenerator::writeSubDirs(QTextStream &t)
|
|||||||
}
|
}
|
||||||
if(tmp_proj.first("TEMPLATE") == "subdirs") {
|
if(tmp_proj.first("TEMPLATE") == "subdirs") {
|
||||||
QMakeProject *pp = new QMakeProject(&tmp_proj);
|
QMakeProject *pp = new QMakeProject(&tmp_proj);
|
||||||
pp->read(0);
|
|
||||||
pb_subdirs += new ProjectBuilderSubDirs(pp, dir);
|
pb_subdirs += new ProjectBuilderSubDirs(pp, dir);
|
||||||
} else if(tmp_proj.first("TEMPLATE") == "app" || tmp_proj.first("TEMPLATE") == "lib") {
|
} else if(tmp_proj.first("TEMPLATE") == "app" || tmp_proj.first("TEMPLATE") == "lib") {
|
||||||
QString pbxproj = qmake_getpwd() + Option::dir_sep + tmp_proj.first("TARGET") + projectSuffix();
|
QString pbxproj = qmake_getpwd() + Option::dir_sep + tmp_proj.first("TARGET") + projectSuffix();
|
||||||
|
@ -627,10 +627,11 @@ QMakeProject::init(QMakeProperty *p)
|
|||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
QMakeProject::QMakeProject(QMakeProject *p, const QHash<QString, QStringList> *vars)
|
// Duplicate project. It is *not* allowed to call the complex read() functions on the copy.
|
||||||
|
QMakeProject::QMakeProject(QMakeProject *p, const QHash<QString, QStringList> *_vars)
|
||||||
{
|
{
|
||||||
init(p->properties());
|
init(p->properties());
|
||||||
base_vars = vars ? *vars : p->variables();
|
vars = _vars ? *_vars : p->variables();
|
||||||
for(QHash<QString, FunctionBlock*>::iterator it = p->replaceFunctions.begin(); it != p->replaceFunctions.end(); ++it) {
|
for(QHash<QString, FunctionBlock*>::iterator it = p->replaceFunctions.begin(); it != p->replaceFunctions.end(); ++it) {
|
||||||
it.value()->ref();
|
it.value()->ref();
|
||||||
replaceFunctions.insert(it.key(), it.value());
|
replaceFunctions.insert(it.key(), it.value());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user