[gimp] app: Fix unique logic on windows
- From: Michael Henning <mhenning src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: Fix unique logic on windows
- Date: Tue, 8 Jul 2014 16:55:02 +0000 (UTC)
commit 45472ee08803f38548f0aa7dcdbfd764cb24290b
Author: Michael Henning <drawoc darkrefraction com>
Date: Tue Jul 8 12:50:50 2014 -0400
app: Fix unique logic on windows
app/gui/gui-unique.c | 5 +++--
app/unique.c | 17 ++++++++++-------
2 files changed, 13 insertions(+), 9 deletions(-)
---
diff --git a/app/gui/gui-unique.c b/app/gui/gui-unique.c
index 5c5d435..3cf65b0 100644
--- a/app/gui/gui-unique.c
+++ b/app/gui/gui-unique.c
@@ -35,6 +35,7 @@
#include "core/gimpcontainer.h"
#include "display/gimpdisplay.h"
+#include "display/gimpdisplayshell.h"
#include "file/file-open.h"
@@ -173,7 +174,7 @@ gui_unique_win32_message_handler (HWND hWnd,
GFile *file;
IdleOpenData *data;
- file = g_file_new_for_path (copydata->lpData);
+ file = g_file_new_for_uri (copydata->lpData);
data = idle_open_data_new (file,
copydata->dwData != 0);
@@ -184,7 +185,7 @@ gui_unique_win32_message_handler (HWND hWnd,
data,
(GClosureNotify) idle_open_data_free);
- g_object_watch_closure (unique_gimp, closure);
+ g_object_watch_closure (G_OBJECT (unique_gimp), closure);
source = g_idle_source_new ();
g_source_set_priority (source, G_PRIORITY_LOW);
diff --git a/app/unique.c b/app/unique.c
index 160b161..55e63e1 100644
--- a/app/unique.c
+++ b/app/unique.c
@@ -166,28 +166,31 @@ gimp_unique_win32_open (const gchar **filenames,
if (filenames)
{
gchar *cwd = g_get_current_dir ();
- GError *error = NULL;
gint i;
for (i = 0; filenames[i]; i++)
{
- gchar *uri;
-
- uri = gimp_unique_filename_to_uri (filenames[i], cwd, &error);
+ GFile *file;
+ file = g_file_new_for_commandline_arg_and_cwd (filenames[i], cwd);
- if (uri)
+ if (file)
{
+ gchar *uri = g_file_get_uri (file);
+
copydata.lpData = uri;
copydata.cbData = strlen (uri) + 1; /* size in bytes */
copydata.dwData = (long) as_new;
SendMessage (window_handle,
WM_COPYDATA, (WPARAM) window_handle, (LPARAM) ©data);
+
+ 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]