From 7e9fbd16e4b712967d8780ad3c5c497e02f25962 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Thu, 10 Sep 2009 17:22:12 -0500 Subject: [PATCH] In set_filter(), handle the case where the new filter is the same as the old filter Signed-off-by: Federico Mena Quintero --- gtk/gtkfilesystemmodel.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c index e10babcb0c..4c90fe2aca 100644 --- a/gtk/gtkfilesystemmodel.c +++ b/gtk/gtkfilesystemmodel.c @@ -1809,15 +1809,20 @@ void _gtk_file_system_model_set_filter (GtkFileSystemModel *model, GtkFileFilter * filter) { + GtkFileFilter *old_filter; + g_return_if_fail (GTK_IS_FILE_SYSTEM_MODEL (model)); g_return_if_fail (filter == NULL || GTK_IS_FILE_FILTER (filter)); if (filter) g_object_ref (filter); - if (model->filter) - g_object_unref (model->filter); + + old_filter = model->filter; model->filter = filter; + if (old_filter) + g_object_unref (old_filter); + gtk_file_system_model_refilter_all (model); }