mirror of https://github.com/GNOME/gimp.git
app: use g_file_new_for_commandline_arg_and_cwd() in unique.c
This commit is contained in:
parent
c2f7ec7b16
commit
98ae4b1f2c
53
app/unique.c
53
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]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue