diff options
| author | Silarn <jrim@rimpo.org> | 2018-05-04 11:34:49 -0500 |
|---|---|---|
| committer | Silarn <jrim@rimpo.org> | 2018-05-04 11:34:49 -0500 |
| commit | 0d7460996ae92c59f78cd2b5ccac43a1bf8869b2 (patch) | |
| tree | 07165403c947a1e7e3b808728216994c4001474c /src | |
| parent | d9b1cfdb4b287fe43742269aaec26907ddcb6445 (diff) | |
Further offload setValue to avoid threading issues
Diffstat (limited to 'src')
| -rw-r--r-- | src/installationmanager.cpp | 9 | ||||
| -rw-r--r-- | src/installationmanager.h | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp index 4b433899..a99a07e1 100644 --- a/src/installationmanager.cpp +++ b/src/installationmanager.cpp @@ -444,7 +444,7 @@ void InstallationManager::updateProgressFile(QString const &fileName) void InstallationManager::doProgressUpdate(float percentage)
{
if (m_InstallationProgress != nullptr) {
- m_InstallationProgress->setValue(static_cast<int>(percentage * 100.0));
+ QMetaObject::invokeMethod(this, "setProgressValue", Qt::QueuedConnection, Q_ARG(int, static_cast<int>(percentage * 100.0)));
if (m_InstallationProgress->wasCanceled()) {
m_ArchiveHandler->cancel();
@@ -453,6 +453,13 @@ void InstallationManager::doProgressUpdate(float percentage) }
}
+void InstallationManager::setProgressValue(int percentage)
+{
+ if (m_InstallationProgress != nullptr) {
+ m_InstallationProgress->setValue(percentage);
+ }
+}
+
void InstallationManager::doProgressFileUpdate(QString const fileName)
{
if (m_InstallationProgress != nullptr) {
diff --git a/src/installationmanager.h b/src/installationmanager.h index 84ccd1a4..851390a7 100644 --- a/src/installationmanager.h +++ b/src/installationmanager.h @@ -186,6 +186,7 @@ private slots: void doProgressUpdate(float percentage);
void doProgressFileUpdate(const QString fileName);
+ void setProgressValue(int percentage);
private:
|
