[gimp] app: use g_file_new_for_commandline_arg_and_cwd() in unique.c



commit 98ae4b1f2c6e65dbf2301cd0ac616fba1144adc2
Author: Michael Natterer <mitch gimp org>
Date:   Tue Jul 8 01:25:17 2014 +0200

    app: use g_file_new_for_commandline_arg_and_cwd() in unique.c

 app/unique.c |   53 +++++++++++------------------------------------------
 1 files changed, 11 insertions(+), 42 deletions(-)
---
diff --git a/app/unique.c b/app/unique.c
index 3e00c2b..160b161 100644
--- a/app/unique.c
+++ b/app/unique.c
@@ -25,8 +25,6 @@
 
 #include "core/core-types.h"
 
-#include "file/file-utils.h"
-
 #include "unique.h"
 
 
@@ -48,39 +46,6 @@ gimp_unique_open (const gchar **filenames,
 #endif
 }
 
-#ifndef GIMP_CONSOLE_COMPILATION
-static gchar *
-gimp_unique_filename_to_uri (const gchar  *filename,
-                            const gchar  *cwd,
-                            GError      **error)
-{
-  gchar *uri = NULL;
-
-  if (file_utils_filename_is_uri (filename, error))
-    {
-      uri = g_strdup (filename);
-    }
-  else if (! *error)
-    {
-      if (! g_path_is_absolute (filename))
-       {
-         gchar *absolute = g_build_filename (cwd, filename, NULL);
-
-         uri = g_filename_to_uri (absolute, NULL, error);
-
-         g_free (absolute);
-       }
-      else
-       {
-         uri = g_filename_to_uri (filename, NULL, error);
-       }
-    }
-
-  return uri;
-}
-#endif
-
-
 static gboolean
 gimp_unique_dbus_open (const gchar **filenames,
                       gboolean      as_new)
@@ -107,13 +72,14 @@ gimp_unique_dbus_open (const gchar **filenames,
 
           for (i = 0; filenames[i] && success; i++)
             {
-              GError *error = NULL;
-             gchar  *uri   = gimp_unique_filename_to_uri (filenames[i],
-                                                           cwd, &error);
+              GFile *file;
 
-              if (uri)
+              file = g_file_new_for_commandline_arg_and_cwd (filenames[i], cwd);
+
+              if (file)
                 {
                   GVariant *result;
+                  gchar    *uri = g_file_get_uri (file);
 
                   result = g_dbus_connection_call_sync (connection,
                                                         GIMP_DBUS_SERVICE_NAME,
@@ -126,17 +92,20 @@ gimp_unique_dbus_open (const gchar **filenames,
                                                         G_DBUS_CALL_FLAGS_NO_AUTO_START,
                                                         -1,
                                                         NULL, NULL);
+
+                  g_free (uri);
+
                   if (result)
                     g_variant_unref (result);
                   else
                     success = FALSE;
 
-                  g_free (uri);
+                  g_object_unref (file);
                 }
               else
                 {
-                  g_printerr ("conversion to uri failed: %s\n", error->message);
-                  g_clear_error (&error);
+                  g_printerr ("conversion to uri failed for '%s'\n",
+                              filenames[i]);
                 }
             }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]