sysprof-greeter: refactor environment variable handling in profiler creation

Signed-off-by: varun-r-mallya <varunrmallya@gmail.com>
This commit is contained in:
2025-02-26 23:24:20 +05:30
parent 05f78de383
commit 775d7ae5eb

View File

@ -205,25 +205,25 @@ sysprof_greeter_create_profiler (SysprofGreeter *self,
g_autoptr(GFile) dir = NULL; g_autoptr(GFile) dir = NULL;
GtkStringObject *strobj; GtkStringObject *strobj;
const char *str; const char *str;
guint envvars_n_items;
g_autoptr(GStrvBuilder) envvars_builder = NULL;
g_autofree GStrv envvars_list = NULL;
g_assert (SYSPROF_IS_GREETER (self)); g_assert (SYSPROF_IS_GREETER (self));
if (self->envvars) if ((envvars_n_items = g_list_model_get_n_items (G_LIST_MODEL (self->envvars))))
{ {
guint n_items = g_list_model_get_n_items (G_LIST_MODEL (self->envvars)); envvars_builder = g_strv_builder_new ();
g_autofree char **envvars = g_new0 (char *, n_items + 1); for (guint i = 0; i < envvars_n_items; i++)
{
for (guint i = 0; i < n_items; i++) strobj = g_list_model_get_item (G_LIST_MODEL (self->envvars), i);
{ g_strv_builder_add (envvars_builder, gtk_string_object_get_string (strobj));
GtkStringObject *str_obj = g_list_model_get_item (G_LIST_MODEL (self->envvars), i); }
envvars_list = g_strv_builder_end (envvars_builder);
envvars[i] = g_strdup (gtk_string_object_get_string (str_obj)); g_object_set (self->recording_template,
} "environ", envvars_list,
NULL);
g_object_set (self->recording_template, }
"environ", envvars,
NULL);
}
if ((strobj = adw_combo_row_get_selected_item (self->power_combo)) && if ((strobj = adw_combo_row_get_selected_item (self->power_combo)) &&
(str = gtk_string_object_get_string (strobj))) (str = gtk_string_object_get_string (strobj)))