summaryrefslogtreecommitdiff
path: root/src/installationmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/installationmanager.cpp')
-rw-r--r--src/installationmanager.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp
index dd5cfb55..8ea2bac7 100644
--- a/src/installationmanager.cpp
+++ b/src/installationmanager.cpp
@@ -307,7 +307,16 @@ QStringList InstallationManager::extractFiles(const QStringList &filesOrig, bool
QCoreApplication::processEvents();
} while (!future.isFinished() || m_InstallationProgress->isVisible());
if (!future.result()) {
- throw MyException(tr("Extraction failed: %1").arg(m_ArchiveHandler->getLastError()));
+ if (m_ArchiveHandler->getLastError() == Archive::ERROR_EXTRACT_CANCELLED) {
+ if (!m_ErrorMessage.isEmpty()) {
+ throw MyException(tr("Extraction failed: %1").arg(m_ErrorMessage));
+ } else {
+ return QStringList();
+ }
+ }
+ else {
+ throw MyException(tr("Extraction failed: %1").arg(m_ArchiveHandler->getLastError()));
+ }
}
return result;
@@ -839,7 +848,7 @@ bool InstallationManager::install(const QString &fileName,
}
}
- { // custom case
+ if (installResult != IPluginInstaller::RESULT_CANCELED) { // custom case
IPluginInstallerCustom *installerCustom
= dynamic_cast<IPluginInstallerCustom *>(installer);
if ((installerCustom != nullptr)