[gnome-builder/wip/gtk4-port] plugins/valgrind: handle defaults for --show-leak-kinds



commit 38dec72dba702aa5d447b2c53bf0c61ad9230be7
Author: Christian Hergert <chergert redhat com>
Date:   Fri May 20 17:09:41 2022 -0700

    plugins/valgrind: handle defaults for --show-leak-kinds
    
    We can just fallback to whatever valgrind chooses as the default if no
    item is checked.

 src/plugins/valgrind/gbp-valgrind-workbench-addin.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)
---
diff --git a/src/plugins/valgrind/gbp-valgrind-workbench-addin.c 
b/src/plugins/valgrind/gbp-valgrind-workbench-addin.c
index fa74a9847..36aa6bfcb 100644
--- a/src/plugins/valgrind/gbp-valgrind-workbench-addin.c
+++ b/src/plugins/valgrind/gbp-valgrind-workbench-addin.c
@@ -131,7 +131,6 @@ gbp_valgrind_workbench_addin_run_handler (IdeRunManager *run_manager,
   g_autofree char *name = NULL;
   g_autofree char *track_origins = NULL;
   g_autofree char *leak_check = NULL;
-  g_autofree char *show_leak_kinds = NULL;
   g_autoptr(GString) leak_kinds = NULL;
   char log_fd_param[32];
   int map_fd;
@@ -161,23 +160,27 @@ gbp_valgrind_workbench_addin_run_handler (IdeRunManager *run_manager,
   map_fd = ide_runner_take_fd (runner, fd, -1);
   g_snprintf (log_fd_param, sizeof log_fd_param, "--log-fd=%d", map_fd);
 
+  /* Convert action state to command-line arguments */
+  track_origins = g_strdup_printf ("--track-origins=%s", get_bool (self, "track-origins") ? "yes" : "no");
+  leak_check = g_strdup_printf ("--leak-check=%s", get_string (self, "leak-check"));
+
   leak_kinds = g_string_new (NULL);
   if (get_bool (self, "leak-kind-definite")) g_string_append (leak_kinds, "definite,");
   if (get_bool (self, "leak-kind-possible")) g_string_append (leak_kinds, "possible,");
   if (get_bool (self, "leak-kind-indirect")) g_string_append (leak_kinds, "indirect,");
   if (get_bool (self, "leak-kind-reachable")) g_string_append (leak_kinds, "reachable,");
   if (leak_kinds->len > 0)
-    g_string_truncate (leak_kinds, leak_kinds->len-1);
+    {
+      g_autofree char *show_leak_kinds = NULL;
 
-  /* Convert action state to command-line arguments */
-  track_origins = g_strdup_printf ("--track-origins=%s", get_bool (self, "track-origins") ? "yes" : "no");
-  leak_check = g_strdup_printf ("--leak-check=%s", get_string (self, "leak-check"));
-  show_leak_kinds = g_strdup_printf ("--show-leak-kinds=%s", leak_kinds->str);
+      g_string_truncate (leak_kinds, leak_kinds->len-1);
+      show_leak_kinds = g_strdup_printf ("--show-leak-kinds=%s", leak_kinds->str);
+      ide_runner_prepend_argv (runner, show_leak_kinds);
+    }
 
   /* Reverse order so we can continually use prepend */
   ide_runner_prepend_argv (runner, track_origins);
   ide_runner_prepend_argv (runner, leak_check);
-  ide_runner_prepend_argv (runner, show_leak_kinds);
   ide_runner_prepend_argv (runner, log_fd_param);
   ide_runner_prepend_argv (runner, "valgrind");
 


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