diff options
Diffstat (limited to 'src/application-service-appstore.c')
-rw-r--r-- | src/application-service-appstore.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/application-service-appstore.c b/src/application-service-appstore.c index c784495..ec6da50 100644 --- a/src/application-service-appstore.c +++ b/src/application-service-appstore.c @@ -222,7 +222,16 @@ get_all_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError * err app_lru_file_touch(priv->lrufile, app->id, app->category); app->icon = g_value_dup_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_ICON_NAME)); - app->menu = g_value_dup_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_MENU)); + + GValue * menuval = (GValue *)g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_MENU); + if (G_VALUE_TYPE(menuval) == G_TYPE_STRING) { + /* This is here to support an older version where we + were using strings instea of object paths. */ + app->menu = g_value_dup_string(menuval); + } else { + app->menu = g_strdup((gchar *)g_value_get_boxed(menuval)); + } + if (g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_AICON_NAME) != NULL) { app->aicon = g_value_dup_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_AICON_NAME)); } |