@@ -14,9 +14,14 @@ UalWrapper::UalWrapper(QObject *parent):
1414QStringList UalWrapper::installedApps()
1515{
1616 QStringList appIds;
17− for (const std::shared_ptr<Application> &app : Registry::installedApps()) {
18− appIds << QString::fromStdString(app->appId().package) + QStringLiteral("_") + QString::fromStdString(app->appId().appname);
17+ try {
18+ for (const std::shared_ptr<Application> &app : Registry::installedApps()) {
19+ appIds << QString::fromStdString(app->appId().package) + QStringLiteral("_") + QString::fromStdString(app->appId().appname);
20+ }
21+ } catch(std::runtime_error &e) {
22+ qWarning() << "ubuntu-all-launch threw an exception listing apps:" << e.what();
1923 }
24+
2025 return appIds;
2126}
2227
@@ -24,24 +29,21 @@ UalWrapper::AppInfo UalWrapper::getApplicationInfo(const QString &appId)
2429{
2530 AppInfo info;
2631
27− AppID ualAppId = AppID::find(appId.toStdString());
28− if (ualAppId.empty()) {
29− return info;
30− }
32+ try {
33+ AppID ualAppId = AppID::find(appId.toStdString());
34+ if (ualAppId.empty()) {
35+ return info;
36+ }
3137
32− std::shared_ptr<Application> ualApp;
33− try
34− {
38+ std::shared_ptr<Application> ualApp;
3539 ualApp = Application::create(ualAppId, Registry::getDefault());
36− }
37− catch (std::runtime_error &e)
38− {
39− qWarning() << "Couldn't find application info for" << appId << "-" << e.what();
40− return info;
40+
41+ info.valid = true;
42+ info.name = QString::fromStdString(ualApp->info()->name());
43+ info.icon = QString::fromStdString(ualApp->info()->iconPath());
44+ } catch(std::runtime_error &e) {
45+ qWarning() << "ubuntu-app-launch threw an exception getting app info for appId:" << appId << ":" << e.what();
4146 }
4247
43− info.valid = true;
44− info.name = QString::fromStdString(ualApp->info()->name());
45− info.icon = QString::fromStdString(ualApp->info()->iconPath());
4648 return info;
4749}