summaryrefslogtreecommitdiff
path: root/src/installationmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/installationmanager.cpp')
-rw-r--r--src/installationmanager.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp
index f57872fe..b1eaf1d3 100644
--- a/src/installationmanager.cpp
+++ b/src/installationmanager.cpp
@@ -163,7 +163,7 @@ bool InstallationManager::extractFiles(QString extractPath, QString title, bool
installationProgress->cancel();
installationProgress->hide();
installationProgress->deleteLater();
- });
+ });
installationProgress->setWindowFlags(
installationProgress->windowFlags() & (~Qt::WindowContextHelpButtonHint));
if (!title.isEmpty()) {
@@ -222,6 +222,11 @@ bool InstallationManager::extractFiles(QString extractPath, QString title, bool
// Wait for future to complete:
loop.exec();
+
+ // There might still be signal in the queue at this point but the progress dialog is
+ // going to be destroyed so we must disconnect the signals:
+ disconnect(this, &InstallationManager::progressUpdate, installationProgress, &QProgressDialog::setValue);
+ disconnect(this, &InstallationManager::progressFileChange, installationProgress, &QProgressDialog::setLabelText);
future = futureWatcher.future();
}