mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-02 08:50:28 +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;
|
struct get_selected_file_closure *closure = data;
|
||||||
|
|
||||||
gtk_tree_model_get (model, iter,
|
|
||||||
MODEL_COL_FILE, &closure->file,
|
|
||||||
-1);
|
|
||||||
if (closure->file)
|
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 */
|
/* Returns a selected path from the file list */
|
||||||
@ -2794,6 +2799,8 @@ bookmarks_check_add_sensitivity (GtkFileChooserDefault *impl)
|
|||||||
|
|
||||||
file = get_selected_file (impl);
|
file = get_selected_file (impl);
|
||||||
active = file && all_folders && (shortcut_find_position (impl, file) == -1);
|
active = file && all_folders && (shortcut_find_position (impl, file) == -1);
|
||||||
|
if (file)
|
||||||
|
g_object_unref (file);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
active = all_folders;
|
active = all_folders;
|
||||||
|
Loading…
Reference in New Issue
Block a user