diff options
author | Daniel Teske <daniel.teske@digia.com> | 2013-11-18 13:02:02 +0100 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2013-11-19 17:26:34 +0100 |
commit | 17f704606f14e1c67fd231de257ffafc531a175e (patch) | |
tree | 76914c175eaf62bb51d127354807d73b9c86a86b /src | |
parent | 8993c55754f6624a6c8f520d560679fe7c064e0b (diff) | |
download | qt-creator-17f704606f14e1c67fd231de257ffafc531a175e.tar.gz |
BuildManager::cancel() needs to block until the step is canceled
Task-number: QTCREATORBUG-10256
Change-Id: I8e761ac072954eb1802b9b4eec415f48414b7990
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/projectexplorer/buildmanager.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 6c3d8af142..14c62c4bb4 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -216,8 +216,13 @@ void BuildManager::cancel() return; d->m_canceling = true; d->m_watcher.cancel(); - if (d->m_currentBuildStep->runInGuiThread()) + if (d->m_currentBuildStep->runInGuiThread()) { d->m_currentBuildStep->cancel(); + while (d->m_canceling) + QApplication::processEvents(QEventLoop::ExcludeUserInputEvents); + } else { + d->m_watcher.waitForFinished(); + } } } |