1
0
mirror of https://github.com/dguglielmi/sunny-overlay.git synced 2025-12-06 20:22:38 +01:00
Files
sunny-overlay/x11-terms/gnome-terminal/files/screen-Use-clean-env-when-creating-new-tab.patch

64 lines
2.3 KiB
Diff

From: Christian Persch <chpe@src.gnome.org>
Date: Mon, 23 Mar 2020 09:57:56 +0100
Subject: screen: Use clean env when creating new tab
https://gitlab.gnome.org/GNOME/gnome-terminal/issues/236
Origin: backport, https://gitlab.gnome.org/GNOME/gnome-terminal/-/commit/fd5ac772154426e2da5afd633b336414bca33be9
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1922839
Last-Update: 2021-04-13
---
src/terminal-screen.cc | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/src/terminal-screen.cc b/src/terminal-screen.cc
index 4e004c4..7b55165 100644
--- a/src/terminal-screen.cc
+++ b/src/terminal-screen.cc
@@ -275,8 +275,7 @@ exec_data_new (void)
}
static ExecData *
-exec_data_clone (ExecData *data,
- gboolean preserve_argv)
+exec_data_clone (ExecData *data)
{
if (data == nullptr)
return nullptr;
@@ -286,8 +285,7 @@ exec_data_clone (ExecData *data,
clone->cwd = g_strdup (data->cwd);
/* If FDs were passed, cannot repeat argv. Return data only for env and cwd */
- if (!preserve_argv ||
- data->fd_list != nullptr) {
+ if (data->fd_list != nullptr) {
clone->as_shell = TRUE;
return clone;
}
@@ -937,7 +935,6 @@ terminal_screen_reexec_from_screen (TerminalScreen *screen,
g_return_val_if_fail (TERMINAL_IS_SCREEN (parent_screen), FALSE);
- terminal_unref_exec_data ExecData* data = exec_data_clone (parent_screen->priv->exec_data, FALSE);
gs_free char* cwd = terminal_screen_get_current_dir (parent_screen);
_terminal_debug_print (TERMINAL_DEBUG_PROCESSES,
@@ -947,7 +944,7 @@ terminal_screen_reexec_from_screen (TerminalScreen *screen,
cwd);
return terminal_screen_reexec_from_exec_data (screen,
- data,
+ nullptr /* exec data */,
nullptr /* envv */,
cwd,
cancellable,
@@ -1753,7 +1750,7 @@ spawn_result_cb (VteTerminal *terminal,
}
/* Retain info for reexec, if possible */
- ExecData *new_exec_data = exec_data_clone (exec_data, TRUE);
+ ExecData *new_exec_data = exec_data_clone (exec_data);
terminal_screen_clear_exec_data (screen, FALSE);
priv->exec_data = new_exec_data;
}