aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-09-06 07:34:03 +0800
committerDan Winship <danw@src.gnome.org>2001-09-06 07:34:03 +0800
commit35f6d9602967f597fd1a4ebade8fb411db836398 (patch)
tree0279704c1183e4a7d4264609a2ccd1390116a45a
parentd6dd04933149ca13536cdaf2b32ca79387e93bdb (diff)
downloadgsoc2013-evolution-35f6d9602967f597fd1a4ebade8fb411db836398.tar.gz
gsoc2013-evolution-35f6d9602967f597fd1a4ebade8fb411db836398.tar.zst
gsoc2013-evolution-35f6d9602967f597fd1a4ebade8fb411db836398.zip
the "command" of a GnomeVFSMimeApplication can include arguments as well.
* mail-display.c (launch_cb): the "command" of a GnomeVFSMimeApplication can include arguments as well. Deal with that. Fixes support for CodeWeavers' CrossOver Plugin. svn path=/trunk/; revision=12643
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/mail-display.c17
2 files changed, 12 insertions, 11 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index bbddcbce1c..683d509a64 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,9 @@
+2001-09-05 Dan Winship <danw@ximian.com>
+
+ * mail-display.c (launch_cb): the "command" of a
+ GnomeVFSMimeApplication can include arguments as well. Deal with
+ that. Fixes support for CodeWeavers' CrossOver Plugin.
+
2001-09-05 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_remove_account): Adjust the
diff --git a/mail/mail-display.c b/mail/mail-display.c
index 11bce0adc8..dc75a27e78 100644
--- a/mail/mail-display.c
+++ b/mail/mail-display.c
@@ -251,7 +251,7 @@ launch_cb (GtkWidget *widget, gpointer user_data)
MailMimeHandler *handler;
GList *apps, *children, *c;
GnomeVFSMimeApplication *app;
- char *filename, *url, *argv[2];
+ char *command, *filename;
const char *tmpdir;
handler = mail_lookup_handler (gtk_object_get_data (user_data, "mime_type"));
@@ -287,16 +287,11 @@ launch_cb (GtkWidget *widget, gpointer user_data)
return;
}
- if (app->expects_uris == GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS) {
- url = g_strdup_printf ("file:%s", filename);
- g_free (filename);
- filename = url;
- }
-
- argv[0] = app->command;
- argv[1] = filename;
-
- gnome_execute_async (tmpdir, 2, argv);
+ command = g_strdup_printf ("%s %s%s &", app->command,
+ app->expects_uris == GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS ? "file:" : "",
+ filename);
+ system (command);
+ g_free (command);
g_free (filename);
}