Make get_selected_file() return a ref'ed file

The old semantics was to return a GFile* owned by the file system model; the new
semantics is to hand out new references whenever possible.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
This commit is contained in:
Federico Mena Quintero 2009-09-11 12:44:21 -05:00 committed by Benjamin Otte
parent 7e9fbd16e4
commit 6e3a6ba12f

View File

@ -2719,11 +2719,16 @@ get_selected_file_foreach_cb (GtkTreeModel *model,
{
struct get_selected_file_closure *closure = data;
gtk_tree_model_get (model, iter,
MODEL_COL_FILE, &closure->file,
-1);
if (closure->file)
g_object_unref (closure->file);
{
/* Just in case this function gets run more than once with a multiple selection; we only care about one file */
g_object_unref (closure->file);
closure->file = NULL;
}
gtk_tree_model_get (model, iter,
MODEL_COL_FILE, &closure->file, /* this will give us a reffed file */
-1);
}
/* Returns a selected path from the file list */
@ -2794,6 +2799,8 @@ bookmarks_check_add_sensitivity (GtkFileChooserDefault *impl)
file = get_selected_file (impl);
active = file && all_folders && (shortcut_find_position (impl, file) == -1);
if (file)
g_object_unref (file);
}
else
active = all_folders;