summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Wehner <martin.wehner@epost.de>2004-05-22 01:49:29 +0000
committerMartin Wehner <mwehner@src.gnome.org>2004-05-22 01:49:29 +0000
commit5ff0d89357f93551ae3c5557ccdcf5e918722ab4 (patch)
treeaf1a882484e1bdfa3b726e0b2831009c128d26f4
parent135085f8d40226effb3afbe279f5e3ed08d19bad (diff)
downloadnautilus-5ff0d89357f93551ae3c5557ccdcf5e918722ab4.tar.gz
Set working directory of launched processes to current view directory.
2004-05-22 Martin Wehner <martin.wehner@epost.de> * src/file-manager/fm-directory-view.c (activate_callback): Set working directory of launched processes to current view directory. Fixes #110407.
-rw-r--r--ChangeLog6
-rw-r--r--src/file-manager/fm-directory-view.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f94b3a01d..f6a7378a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2004-05-22 Martin Wehner <martin.wehner@epost.de>
+ * src/file-manager/fm-directory-view.c (activate_callback):
+ Set working directory of launched processes to current view
+ directory. Fixes #110407.
+
+2004-05-22 Martin Wehner <martin.wehner@epost.de>
+
* libnautilus-private/nautilus-icon-container.c (motion_notify_event):
Convert initial drag position to canvas coordinates. Fixes #142491.
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index a1ec83cd4..c92f6033c 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -6006,6 +6006,7 @@ activate_callback (NautilusFile *file, gpointer callback_data)
FMDirectoryView *view;
char *orig_uri, *uri, *file_uri;
char *executable_path, *quoted_path, *name;
+ char *old_working_dir;
GnomeVFSMimeActionType action_type;
ActivationAction action;
GdkScreen *screen;
@@ -6044,6 +6045,8 @@ activate_callback (NautilusFile *file, gpointer callback_data)
if (action != ACTIVATION_ACTION_DO_NOTHING && file_is_launchable (file)) {
+ old_working_dir = change_to_view_directory (view);
+
/* Launch executables to activate them. */
action = ACTIVATION_ACTION_LAUNCH;
@@ -6070,6 +6073,8 @@ activate_callback (NautilusFile *file, gpointer callback_data)
g_free (quoted_path);
}
+ chdir (old_working_dir);
+ g_free (old_working_dir);
g_free (executable_path);
}