[gnome-builder/wip/gtk4-port: 1643/1774] libide/foundry: improve default layer merge




commit dc2eea97f8d81457abf66c5b7ef17b218f7acec3
Author: Christian Hergert <chergert redhat com>
Date:   Fri Jun 24 03:36:33 2022 -0700

    libide/foundry: improve default layer merge

 src/libide/foundry/ide-run-context.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)
---
diff --git a/src/libide/foundry/ide-run-context.c b/src/libide/foundry/ide-run-context.c
index b67b9fdce..ae9df3d54 100644
--- a/src/libide/foundry/ide-run-context.c
+++ b/src/libide/foundry/ide-run-context.c
@@ -822,18 +822,22 @@ ide_run_context_default_handler (IdeRunContext       *self,
   if (!ide_unix_fd_map_steal_from (layer->unix_fd_map, unix_fd_map, error))
     return FALSE;
 
-  if (argv != NULL && argv[0] != NULL)
+  if (env[0] != NULL)
     {
-      /* Convert environment into "env FOO=BAR subcommand" style */
-      ide_run_context_environ_to_argv (self);
-      ide_run_context_append_args (self, argv);
-    }
-  else
-    {
-      /* No argv was provided, just merge environments */
-      ide_run_context_add_environ (self, env);
+      if (argv[0] == NULL)
+        {
+          ide_run_context_add_environ (self, env);
+        }
+      else
+        {
+          ide_run_context_append_argv (self, "env");
+          ide_run_context_append_args (self, env);
+        }
     }
 
+  if (argv[0] != NULL)
+    ide_run_context_append_args (self, argv);
+
   return TRUE;
 }
 


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