aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/api
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-02-18 12:54:41 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2014-02-18 15:05:59 +0100
commit6f6606b798b2e9c3911b2a0794835089ab100cb8 (patch)
treea72480bfaabdcd300a15c99305147034fcf651ee /src/lib/corelib/api
parentbb505ec457932a595ff1f70dac64ec084f79dcb5 (diff)
Do not cache external project data.
Always retrieve it anew, as information about targets can change due to building. Change-Id: I7b15f8bc50f7b22ea1351e66b5a4b22ea83f34d1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/lib/corelib/api')
-rw-r--r--src/lib/corelib/api/project.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp
index 99b2eeac0..8907e54a8 100644
--- a/src/lib/corelib/api/project.cpp
+++ b/src/lib/corelib/api/project.cpp
@@ -98,7 +98,7 @@ class ProjectPrivate : public QSharedData
{
public:
ProjectPrivate(const TopLevelProjectPtr &internalProject, const Logger &logger)
- : internalProject(internalProject), logger(logger), m_projectDataRetrieved(false)
+ : internalProject(internalProject), logger(logger)
{
}
@@ -157,16 +157,13 @@ private:
const ResolvedProjectConstPtr &internalProject);
ProjectData m_projectData;
- bool m_projectDataRetrieved;
};
ProjectData ProjectPrivate::projectData()
{
- if (!m_projectDataRetrieved) {
- retrieveProjectData(m_projectData, internalProject);
- m_projectData.d->buildDir = internalProject->buildDirectory;
- m_projectDataRetrieved = true;
- }
+ m_projectData = ProjectData();
+ retrieveProjectData(m_projectData, internalProject);
+ m_projectData.d->buildDir = internalProject->buildDirectory;
return m_projectData;
}
@@ -580,7 +577,7 @@ void ProjectPrivate::prepareChangeToProject()
{
if (internalProject->locked)
throw ErrorInfo(Tr::tr("A job is currently in process."));
- if (!m_projectDataRetrieved)
+ if (!m_projectData.isValid())
retrieveProjectData(m_projectData, internalProject);
}
@@ -621,7 +618,6 @@ void ProjectPrivate::retrieveProjectData(ProjectData &projectData,
projectData.d->isValid = true;
qSort(projectData.d->products);
qSort(projectData.d->subProjects);
- m_projectDataRetrieved = true;
}
} // namespace Internal