From 75544f51c6a800aae2001bc11f8d489fd3d79e00 Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Fri, 1 Dec 2017 00:32:22 +0900 Subject: [PATCH] Error handling --- app/src/handlers/updatehandler.cpp | 44 ++++++++++++++++-------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/app/src/handlers/updatehandler.cpp b/app/src/handlers/updatehandler.cpp index 6ae6d3d..28c4114 100644 --- a/app/src/handlers/updatehandler.cpp +++ b/app/src/handlers/updatehandler.cpp @@ -147,31 +147,33 @@ void UpdateHandler::updateAppImage(const QString &fileKey) } } - if (!appImageUpdater.hasError()) { - if (newFilename != filename) { - auto installedItem = configHandler_->getUsrConfigInstalledItems()[itemKey].toObject(); - QJsonArray files; - for (const auto &file : installedItem["files"].toArray()) { - if (file.toString() == filename) { - files.append(QJsonValue(newFilename)); - } - else { - files.append(file); - } - } - installedItem["files"] = files; - installedItem["installed_at"] = QDateTime::currentMSecsSinceEpoch(); - configHandler_->setUsrConfigInstalledItemsItem(itemKey, installedItem); - qtlib::File(path).remove(); - } - - configHandler_->removeUsrConfigUpdateAvailableFile(fileKey); - } - else { + if (appImageUpdater.hasError()) { std::string nextMessage; while (appImageUpdater.nextStatusMessage(nextMessage)) { qWarning() << QString::fromStdString(nextMessage); } + + emit updateFinished(fileKey); + return; + } + + configHandler_->removeUsrConfigUpdateAvailableFile(fileKey); + + if (newFilename != filename) { + auto installedItem = configHandler_->getUsrConfigInstalledItems()[itemKey].toObject(); + QJsonArray files; + for (const auto &file : installedItem["files"].toArray()) { + if (file.toString() == filename) { + files.append(QJsonValue(newFilename)); + } + else { + files.append(file); + } + } + installedItem["files"] = files; + installedItem["installed_at"] = QDateTime::currentMSecsSinceEpoch(); + configHandler_->setUsrConfigInstalledItemsItem(itemKey, installedItem); + qtlib::File(path).remove(); } emit updateFinished(fileKey); -- GitLab