[Xfce4-commits] <xfce4-appfinder:nick/xfrun4-merge> Avoid unneeded category refilter.
Nick Schermer
noreply at xfce.org
Sun Jul 3 23:34:01 CEST 2011
Updating branch refs/heads/nick/xfrun4-merge
to 317ecab89a1fbb55be34639fb11a2558dc3b3fb7 (commit)
from 611394ad293380fc33e62b76c581848d0f08117d (commit)
commit 317ecab89a1fbb55be34639fb11a2558dc3b3fb7
Author: Nick Schermer <nick at xfce.org>
Date: Sun Jul 3 22:34:48 2011 +0200
Avoid unneeded category refilter.
src/appfinder-window.c | 30 ++++++++++++++++++------------
1 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/src/appfinder-window.c b/src/appfinder-window.c
index 1bdd5a1..fbb9719 100644
--- a/src/appfinder-window.c
+++ b/src/appfinder-window.c
@@ -634,23 +634,29 @@ xfce_appfinder_window_category_changed (GtkTreeSelection *selection,
XFCE_APPFINDER_CATEGORY_MODEL_COLUMN_DIRECTORY, &category,
XFCE_APPFINDER_CATEGORY_MODEL_COLUMN_NAME, &name, -1);
- if (window->filter_category != NULL)
- g_object_unref (G_OBJECT (window->filter_category));
+ if (window->filter_category != category)
+ {
+ if (window->filter_category != NULL)
+ g_object_unref (G_OBJECT (window->filter_category));
- if (category == NULL)
- window->filter_category = NULL;
- else
- window->filter_category = category;
+ if (category == NULL)
+ window->filter_category = NULL;
+ else
+ window->filter_category = g_object_ref (G_OBJECT (category));
- APPFINDER_DEBUG ("refilter category");
+ APPFINDER_DEBUG ("refilter category");
- /* update visible items */
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (window->treeview));
- gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (model));
+ /* update visible items */
+ model = gtk_tree_view_get_model (GTK_TREE_VIEW (window->treeview));
+ gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (model));
+
+ /* store last category */
+ xfconf_channel_set_string (window->channel, "/LastCategory", name);
+ }
- /* store last category */
- xfconf_channel_set_string (window->channel, "/LastCategory", name);
g_free (name);
+ if (category != NULL)
+ g_object_unref (G_OBJECT (category));
}
}
More information about the Xfce4-commits
mailing list