[Xfce4-commits] r25732 - in thunar/trunk: . plugins/thunar-uca
Benedikt Meurer
benny at xfce.org
Sun May 20 16:07:16 CEST 2007
Author: benny
Date: 2007-05-20 14:07:15 +0000 (Sun, 20 May 2007)
New Revision: 25732
Modified:
thunar/trunk/ChangeLog
thunar/trunk/plugins/thunar-uca/thunar-uca-editor.c
Log:
2007-05-20 Benedikt Meurer <benny at xfce.org>
* plugins/thunar-uca/thunar-uca-editor.c: Properly quote files
selected via the file chooser if necessary. Bug #3105.
Modified: thunar/trunk/ChangeLog
===================================================================
--- thunar/trunk/ChangeLog 2007-05-20 13:06:03 UTC (rev 25731)
+++ thunar/trunk/ChangeLog 2007-05-20 14:07:15 UTC (rev 25732)
@@ -1,5 +1,10 @@
2007-05-20 Benedikt Meurer <benny at xfce.org>
+ * plugins/thunar-uca/thunar-uca-editor.c: Properly quote files
+ selected via the file chooser if necessary. Bug #3105.
+
+2007-05-20 Benedikt Meurer <benny at xfce.org>
+
* thunar-vfs/thunar-vfs-volume-freebsd.c,
thunar-vfs/thunar-vfs-volume-hal.c,
thunar-vfs/thunar-vfs-volume.{c,h}, thunar-vfs/thunar-vfs.symbols:
Modified: thunar/trunk/plugins/thunar-uca/thunar-uca-editor.c
===================================================================
--- thunar/trunk/plugins/thunar-uca/thunar-uca-editor.c 2007-05-20 13:06:03 UTC (rev 25731)
+++ thunar/trunk/plugins/thunar-uca/thunar-uca-editor.c 2007-05-20 14:07:15 UTC (rev 25732)
@@ -1,6 +1,6 @@
/* $Id$ */
/*-
- * Copyright (c) 2005-2006 Benedikt Meurer <benny at xfce.org>
+ * Copyright (c) 2005-2007 Benedikt Meurer <benny at xfce.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -483,7 +483,9 @@
GtkFileFilter *filter;
GtkWidget *chooser;
gchar *filename;
+ gchar **argv = NULL;
gchar *s;
+ gint argc;
g_return_if_fail (THUNAR_UCA_IS_EDITOR (uca_editor));
@@ -581,7 +583,20 @@
/* run the chooser dialog */
if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT)
{
+ /* determine the path to the selected file */
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser));
+
+ /* check if we need to quote the filename */
+ if (!g_shell_parse_argv (filename, &argc, &argv, NULL) || argc > 1)
+ {
+ /* shell is unable to interpret properly without quoting */
+ s = g_shell_quote (filename);
+ g_free (filename);
+ filename = s;
+ }
+ g_strfreev (argv);
+
+ /* append %f to filename, user may change that afterwards */
s = g_strconcat (filename, " %f", NULL);
gtk_entry_set_text (GTK_ENTRY (uca_editor->command_entry), s);
g_free (filename);
More information about the Xfce4-commits
mailing list