summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@pelagicore.com>2019-02-11 11:52:56 +0100
committerRobert Griebl <robert.griebl@pelagicore.com>2019-02-11 12:16:43 +0000
commit16e945d7e14466f300f165ab8e8a38bfb35dc7f2 (patch)
treeb29cd1557c531a20a30027d1d7bcae2af6b54824
parent267f162d75ee78f79785c43dddfcdd3089d54d53 (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.cpp10
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;
}