app-system: Remove visible_id_to_app

Since appDisplay.js makes its own GMenu tree, it's not necessary
anymore. This does mean that searches will show apps in NoDisplay
categories, but that's an obscure enough edge case not to matter.

https://bugzilla.gnome.org/show_bug.cgi?id=698486
This commit is contained in:
Jasper St. Pierre 2013-04-20 18:55:35 -04:00
parent 96c2a90e11
commit 28a6aefb6c

View File

@ -41,7 +41,6 @@ struct _ShellAppSystemPrivate {
GMenuTree *apps_tree; GMenuTree *apps_tree;
GHashTable *running_apps; GHashTable *running_apps;
GHashTable *visible_id_to_app;
GHashTable *id_to_app; GHashTable *id_to_app;
GHashTable *startup_wm_class_to_id; GHashTable *startup_wm_class_to_id;
}; };
@ -89,9 +88,6 @@ shell_app_system_init (ShellAppSystem *self)
NULL, NULL,
(GDestroyNotify)g_object_unref); (GDestroyNotify)g_object_unref);
/* All the objects in this hash table are owned by id_to_app */
priv->visible_id_to_app = g_hash_table_new (g_str_hash, g_str_equal);
priv->startup_wm_class_to_id = g_hash_table_new (g_str_hash, g_str_equal); priv->startup_wm_class_to_id = g_hash_table_new (g_str_hash, g_str_equal);
/* We want to track NoDisplay apps, so we add INCLUDE_NODISPLAY. We'll /* We want to track NoDisplay apps, so we add INCLUDE_NODISPLAY. We'll
@ -112,7 +108,6 @@ shell_app_system_finalize (GObject *object)
g_hash_table_destroy (priv->running_apps); g_hash_table_destroy (priv->running_apps);
g_hash_table_destroy (priv->id_to_app); g_hash_table_destroy (priv->id_to_app);
g_hash_table_destroy (priv->visible_id_to_app);
g_hash_table_destroy (priv->startup_wm_class_to_id); g_hash_table_destroy (priv->startup_wm_class_to_id);
G_OBJECT_CLASS (shell_app_system_parent_class)->finalize (object); G_OBJECT_CLASS (shell_app_system_parent_class)->finalize (object);
@ -189,8 +184,6 @@ on_apps_tree_changed_cb (GMenuTree *tree,
g_assert (tree == self->priv->apps_tree); g_assert (tree == self->priv->apps_tree);
g_hash_table_remove_all (self->priv->visible_id_to_app);
if (!gmenu_tree_load_sync (self->priv->apps_tree, &error)) if (!gmenu_tree_load_sync (self->priv->apps_tree, &error))
{ {
if (error) if (error)
@ -240,8 +233,6 @@ on_apps_tree_changed_cb (GMenuTree *tree,
g_object_unref (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))
g_hash_table_replace (self->priv->visible_id_to_app, (char*)id, app);
startup_wm_class = g_desktop_app_info_get_startup_wm_class (info); startup_wm_class = g_desktop_app_info_get_startup_wm_class (info);
if (startup_wm_class) if (startup_wm_class)
@ -548,7 +539,7 @@ GSList *
shell_app_system_initial_search (ShellAppSystem *self, shell_app_system_initial_search (ShellAppSystem *self,
GSList *terms) GSList *terms)
{ {
return search_tree (self, terms, self->priv->visible_id_to_app); return search_tree (self, terms, self->priv->id_to_app);
} }
/** /**