summaryrefslogtreecommitdiffstats
path: root/qmake/project.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-02-03 18:34:56 +0100
committerQt by Nokia <qt-info@nokia.com>2012-03-06 06:34:47 +0100
commit703ef4f79edb30b8cf90c5bb62b1adf7acba55ff (patch)
tree03828f846b2352ad2f2d84620aa6da0c6fdeeb23 /qmake/project.cpp
parentff25691d00d634068c6389f8f1607d7cc95ac5be (diff)
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>
Diffstat (limited to 'qmake/project.cpp')
-rw-r--r--qmake/project.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/qmake/project.cpp b/qmake/project.cpp
index ecd31d5234..7f73b1f56f 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -627,10 +627,11 @@ QMakeProject::init(QMakeProperty *p)
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());
- 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) {
it.value()->ref();
replaceFunctions.insert(it.key(), it.value());