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>
This commit is contained in:
Federico Mena Quintero
2009-09-10 17:22:12 -05:00
committed by Benjamin Otte
parent fb1a72fcb0
commit 7e9fbd16e4

View File

@ -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);
}