mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-30 15:31:34 +00:00
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:
parent
7e9fbd16e4
commit
6e3a6ba12f
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user