sysprof-greeter: optimize environment variable handling in profiler creation

Signed-off-by: varun-r-mallya <varunrmallya@gmail.com>
This commit is contained in:
2025-03-06 17:57:01 +05:30
parent 775d7ae5eb
commit 8186cc464a

View File

@ -205,25 +205,24 @@ 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 ((envvars_n_items = g_list_model_get_n_items (G_LIST_MODEL (self->envvars)))) if (g_list_model_get_n_items (G_LIST_MODEL (self->envvars)))
{ {
envvars_builder = g_strv_builder_new (); g_autoptr(GStrvBuilder) envvars_builder = g_strv_builder_new ();;
for (guint i = 0; i < envvars_n_items; i++) g_auto(GStrv) envvars_list = NULL;
{
strobj = g_list_model_get_item (G_LIST_MODEL (self->envvars), i); for (guint i = 0; i < g_list_model_get_n_items (G_LIST_MODEL (self->envvars)); i++)
g_strv_builder_add (envvars_builder, gtk_string_object_get_string (strobj)); {
} strobj = g_list_model_get_item (G_LIST_MODEL (self->envvars), i);
envvars_list = g_strv_builder_end (envvars_builder); g_strv_builder_add (envvars_builder, gtk_string_object_get_string (strobj));
g_object_set (self->recording_template, }
"environ", envvars_list, envvars_list = g_strv_builder_end (envvars_builder);
NULL); g_object_set (self->recording_template,
} "environ", envvars_list,
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)))
@ -632,9 +631,7 @@ sysprof_greeter_init (SysprofGreeter *self)
if (environ) if (environ)
{ {
for (guint i = 0; environ[i]; i++) for (guint i = 0; environ[i]; i++)
{ gtk_string_list_append (self->envvars, environ[i]);
gtk_string_list_append (self->envvars, environ[i]);
}
} }
} }