aboutsummaryrefslogtreecommitdiff
path: root/src/application-service-appstore.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/application-service-appstore.c')
-rw-r--r--src/application-service-appstore.c11
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));
}