[gnome-terminal] screen: Fix non-preserved working dir



commit 01f4eb65212295c2ef081a873cb6f8aad3dde2de
Author: Jan Alexander Steffens (heftig) <jan steffens gmail com>
Date:   Tue Mar 10 21:02:19 2020 +0000

    screen: Fix non-preserved working dir
    
    If `preserve_cwd` is false, the code would leave `data->cwd` unset. This
    resulted in VTE keeping the current pwd, which in the case of
    `gnome-terminal-server` running as a systemd user service is `/`.
    
    Fixes https://gitlab.gnome.org/GNOME/gnome-terminal/issues/228

 src/terminal-screen.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
---
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index dc9f8447..6541c0a5 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -963,9 +963,7 @@ terminal_screen_exec (TerminalScreen *screen,
     return FALSE;
   }
 
-  if (preserve_cwd) {
-    data->cwd = g_strdup (cwd);
-  } else {
+  if (!preserve_cwd) {
     cwd = g_get_home_dir ();
     envv = g_environ_unsetenv (envv, "PWD");
   }
@@ -980,6 +978,7 @@ terminal_screen_exec (TerminalScreen *screen,
 
   data->argv = g_strdupv (argv);
   data->exec_argv = g_strdupv (exec_argv);
+  data->cwd = g_strdup (cwd);
   data->envv = g_strdupv (envv);
   data->as_shell = as_shell;
   data->pty_flags = VTE_PTY_DEFAULT;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]