diff options
author | Federico Mena Quintero <federico@novell.com> | 2009-09-10 17:22:12 -0500 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2009-10-15 22:06:17 +0200 |
commit | 7e9fbd16e4b712967d8780ad3c5c497e02f25962 (patch) | |
tree | eb6ade2ed1f96c0403755bb6b30a27894df7e041 /gtk/gtkfilesystemmodel.c | |
parent | fb1a72fcb005a14b004eaae6912abd5232713a80 (diff) | |
download | gtk+-7e9fbd16e4b712967d8780ad3c5c497e02f25962.tar.gz |
In set_filter(), handle the case where the new filter is the same as the old filter
Signed-off-by: Federico Mena Quintero <federico@novell.com>
Diffstat (limited to 'gtk/gtkfilesystemmodel.c')
-rw-r--r-- | gtk/gtkfilesystemmodel.c | 9 |
1 files 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); } |