diff options
author | Tim Jenssen <tim.jenssen@digia.com> | 2013-01-31 14:46:51 +0100 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@digia.com> | 2013-01-31 14:48:53 +0100 |
commit | 3ac17e35080b5fde3b7ff6cad4a718c4e9f69f7c (patch) | |
tree | 1e906f007bfa2270ecd1b6ba871725fadd3a789c /src | |
parent | f8a0ef7cb9300a243f8b22f6ef96c6a0671eff6b (diff) |
Fix "Retry" on uninstallation
During uninstallation 'Retry' click the code checks the error value,
however the error code of undo operation is nerver reset after retry.
Check success return value of performOperationThreaded instead.
Change-Id: Iee44d144fa1e9a3d1999ec3f46d35cab796935c6
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/installer/packagemanagercore_p.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index 78c192946..44806f106 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -1956,13 +1956,14 @@ void PackageManagerCorePrivate::runUndoOperations(const OperationList &undoOpera connectOperationToInstaller(undoOperation, progressSize); qDebug() << "undo operation=" << undoOperation->name(); - performOperationThreaded(undoOperation, PackageManagerCorePrivate::Undo); + + bool ignoreError = false; + bool ok = performOperationThreaded(undoOperation, PackageManagerCorePrivate::Undo); const QString componentName = undoOperation->value(QLatin1String("component")).toString(); - if (undoOperation->error() != Operation::NoError) { - if (!componentName.isEmpty()) { - bool run = true; - while (run && m_core->status() != PackageManagerCore::Canceled) { + + if (!componentName.isEmpty()) { + while (!ok && !ignoreError && m_core->status() != PackageManagerCore::Canceled) { const QMessageBox::StandardButton button = MessageBoxHandler::warning(MessageBoxHandler::currentBestSuitParent(), QLatin1String("installationErrorWithRetry"), tr("Installer Error"), @@ -1970,14 +1971,11 @@ void PackageManagerCorePrivate::runUndoOperations(const OperationList &undoOpera QMessageBox::Retry | QMessageBox::Ignore, QMessageBox::Retry); if (button == QMessageBox::Retry) { - performOperationThreaded(undoOperation, Undo); - if (undoOperation->error() == Operation::NoError) - run = false; + ok = performOperationThreaded(undoOperation, Undo); } else if (button == QMessageBox::Ignore) { - run = false; + ignoreError = true; } } - } } if (!componentName.isEmpty()) { |