diff options
author | dt <[email protected]> | 2009-10-21 13:45:49 +0200 |
---|---|---|
committer | dt <[email protected]> | 2009-10-21 13:45:49 +0200 |
commit | 1253c55d5609a96a8a0318ac102029f618578d08 (patch) | |
tree | 8ae7fd46a39285b8b8ee893afa65a7bbd05d7985 /src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp | |
parent | 7d50aa29b809a2ba0e6b456255af3bbe5e275694 (diff) |
Fix a race in CMakeProjectManager::createXml
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp')
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp index fbab5af5d8f..d0b683c8b38 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp @@ -99,7 +99,7 @@ bool CMakeManager::hasCodeBlocksMsvcGenerator() const // we probably want the process instead of this function // cmakeproject then could even run the cmake process in the background, adding the files afterwards // sounds like a plan -QProcess *CMakeManager::createXmlFile(const QStringList &arguments, const QString &sourceDirectory, const QDir &buildDirectory, const ProjectExplorer::Environment &env, const QString &generator) +void CMakeManager::createXmlFile(QProcess *proc, const QStringList &arguments, const QString &sourceDirectory, const QDir &buildDirectory, const ProjectExplorer::Environment &env, const QString &generator) { // We create a cbp file, only if we didn't find a cbp file in the base directory // Yet that can still override cbp files in subdirectories @@ -111,14 +111,12 @@ QProcess *CMakeManager::createXmlFile(const QStringList &arguments, const QStrin // TODO we need to pass on the same paremeters as the cmakestep QString buildDirectoryPath = buildDirectory.absolutePath(); buildDirectory.mkpath(buildDirectoryPath); - QProcess *cmake = new QProcess; - cmake->setWorkingDirectory(buildDirectoryPath); - cmake->setProcessChannelMode(QProcess::MergedChannels); - cmake->setEnvironment(env.toStringList()); + proc->setWorkingDirectory(buildDirectoryPath); + proc->setProcessChannelMode(QProcess::MergedChannels); + proc->setEnvironment(env.toStringList()); const QString srcdir = buildDirectory.exists(QLatin1String("CMakeCache.txt")) ? QString(QLatin1Char('.')) : sourceDirectory; - cmake->start(cmakeExecutable(), QStringList() << srcdir << arguments << generator); - return cmake; + proc->start(cmakeExecutable(), QStringList() << srcdir << arguments << generator); } QString CMakeManager::findCbpFile(const QDir &directory) |