app-system: Don't use gmenu_tree_entry_get_desktop_app_info
It's a broken method when it comes to giving us a useful GDesktopAppInfo, and it's hard to fix libgmenu properly, so simply recreate the app info using the desktop file ID that libgmenu has.
This commit is contained in:
parent
982feb85c1
commit
8bd7db9227
@ -341,7 +341,7 @@ on_apps_tree_changed_cb (GMenuTree *tree,
|
|||||||
else
|
else
|
||||||
g_free (prefix);
|
g_free (prefix);
|
||||||
|
|
||||||
info = gmenu_tree_entry_get_app_info (entry);
|
info = g_desktop_app_info_new (gmenu_tree_entry_get_desktop_file_id (entry));
|
||||||
|
|
||||||
app = g_hash_table_lookup (self->priv->id_to_app, id);
|
app = g_hash_table_lookup (self->priv->id_to_app, id);
|
||||||
if (app != NULL)
|
if (app != NULL)
|
||||||
@ -363,6 +363,8 @@ on_apps_tree_changed_cb (GMenuTree *tree,
|
|||||||
app = _shell_app_new (info);
|
app = _shell_app_new (info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_object_unref (info);
|
||||||
|
|
||||||
g_hash_table_replace (self->priv->id_to_app, (char*)id, app);
|
g_hash_table_replace (self->priv->id_to_app, (char*)id, app);
|
||||||
if (!gmenu_tree_entry_get_is_nodisplay_recurse (entry))
|
if (!gmenu_tree_entry_get_is_nodisplay_recurse (entry))
|
||||||
g_hash_table_replace (self->priv->visible_id_to_app, (char*)id, app);
|
g_hash_table_replace (self->priv->visible_id_to_app, (char*)id, app);
|
||||||
|
Loading…
Reference in New Issue
Block a user