From 7a93355977b7d92c51e53d4bf78636c774d6fa1f Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Tue, 5 Mar 2013 14:20:12 -0600 Subject: [PATCH] filechooser: Also convert get_uris() to returning native paths It was only being done in gtk_file_chooser_get_uri(). Signed-off-by: Federico Mena Quintero --- gtk/gtkfilechooser.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/gtk/gtkfilechooser.c b/gtk/gtkfilechooser.c index b274637c97..a4214d37c1 100644 --- a/gtk/gtkfilechooser.c +++ b/gtk/gtkfilechooser.c @@ -1228,6 +1228,22 @@ files_to_strings (GSList *files, return g_slist_reverse (strings); } +static gchar * +file_to_uri_with_native_path (GFile *file) +{ + gchar *result = NULL; + gchar *native; + + native = g_file_get_path (file); + if (native) + { + result = g_filename_to_uri (native, NULL, NULL); /* NULL-GError */ + g_free (native); + } + + return result; +} + /** * gtk_file_chooser_get_filenames: * @chooser: a #GtkFileChooser @@ -1390,18 +1406,10 @@ gtk_file_chooser_get_uri (GtkFileChooser *chooser) if (file) { if (gtk_file_chooser_get_local_only (chooser)) - { - gchar *local = g_file_get_path (file); - if (local) - { - result = g_filename_to_uri (local, NULL, NULL); - g_free (local); - } - } + result = file_to_uri_with_native_path (file); else - { result = g_file_get_uri (file); - } + g_object_unref (file); } @@ -1572,7 +1580,11 @@ gtk_file_chooser_get_uris (GtkFileChooser *chooser) files = gtk_file_chooser_get_files (chooser); - result = files_to_strings (files, g_file_get_uri); + if (gtk_file_chooser_get_local_only (chooser)) + result = files_to_strings (files, file_to_uri_with_native_path); + else + result = files_to_strings (files, g_file_get_uri); + g_slist_foreach (files, (GFunc) g_object_unref, NULL); g_slist_free (files);