diff options
author | Robert Griebl <robert.griebl@pelagicore.com> | 2019-02-11 11:52:56 +0100 |
---|---|---|
committer | Robert Griebl <robert.griebl@pelagicore.com> | 2019-02-11 12:16:43 +0000 |
commit | 16e945d7e14466f300f165ab8e8a38bfb35dc7f2 (patch) | |
tree | b29cd1557c531a20a30027d1d7bcae2af6b54824 | |
parent | 267f162d75ee78f79785c43dddfcdd3089d54d53 (diff) |
Fix signal emission order on app installation
The ApplicationManager::applicationAdded() signal was emitted before the
state had been initialized, so any receiver of this signal was referencing
a wrong icon() url.
Change-Id: I6ee4a88072c8385af9f8b6ed4459a5da1c524cad
Reviewed-by: Bramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com>
-rw-r--r-- | src/manager-lib/applicationmanager.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp index cabb60bc..9929273e 100644 --- a/src/manager-lib/applicationmanager.cpp +++ b/src/manager-lib/applicationmanager.cpp @@ -1209,15 +1209,17 @@ bool ApplicationManager::startingApplicationInstallation(ApplicationInfo *info) } else { // installation Application *app = new Application(newInfo.take()); + app->block(); + app->setState(Application::BeingInstalled); + app->setProgress(0); + beginInsertRows(QModelIndex(), d->apps.count(), d->apps.count()); addApplication(app); endInsertRows(); - emit applicationAdded(app->id()); + emitDataChanged(app); - app->block(); - app->setState(Application::BeingInstalled); - app->setProgress(0); + emit applicationAdded(app->id()); } return true; } |