diff options
author | Eike Ziller <eike.ziller@digia.com> | 2013-12-18 11:02:16 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@digia.com> | 2013-12-18 11:02:16 +0100 |
commit | e035ae6df1cdd3ac2e57fe60dfa92243c5a7964f (patch) | |
tree | 58102886f9173683f2b88907ff2494ce9940c77c /src/plugins/updateinfo | |
parent | fca56658bb6d0358e7b86f56cf7e40fba8644bce (diff) | |
parent | 1193cfa092ee7b3694d2aa5fede19fb86e224024 (diff) |
Merge remote-tracking branch 'origin/3.0'
Conflicts:
share/qtcreator/debugger/stdtypes.py
src/plugins/qmlprofiler/qmlprofilereventsmodelproxy.cpp
Change-Id: I5d86746d58960e41e01e725ccb2a6c00890f0dfd
Diffstat (limited to 'src/plugins/updateinfo')
-rw-r--r-- | src/plugins/updateinfo/updateinfoplugin.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/updateinfo/updateinfoplugin.cpp b/src/plugins/updateinfo/updateinfoplugin.cpp index eb09d92c2a..2882cf8bb0 100644 --- a/src/plugins/updateinfo/updateinfoplugin.cpp +++ b/src/plugins/updateinfo/updateinfoplugin.cpp @@ -91,6 +91,9 @@ UpdateInfoPlugin::UpdateInfoPlugin() UpdateInfoPlugin::~UpdateInfoPlugin() { + d->lastCheckUpdateInfoTask.cancel(); + d->lastCheckUpdateInfoTask.waitForFinished(); + delete d; } @@ -230,7 +233,14 @@ QDomDocument UpdateInfoPlugin::update() // start QProcess updater; updater.start(d->updaterProgram, QStringList() << d->updaterCheckOnlyArgument); - updater.waitForFinished(); + while (updater.state() != QProcess::NotRunning) { + if (!updater.waitForFinished(1000) + && d->lastCheckUpdateInfoTask.isCanceled()) { + updater.kill(); + updater.waitForFinished(-1); + return QDomDocument(); + } + } // process return value QDomDocument updates; |