mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +00:00
sysprof-greeter: add environment variable handling in profiler creation. Refactor pending.
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com>
This commit is contained in:
@ -208,6 +208,23 @@ sysprof_greeter_create_profiler (SysprofGreeter *self,
|
|||||||
|
|
||||||
g_assert (SYSPROF_IS_GREETER (self));
|
g_assert (SYSPROF_IS_GREETER (self));
|
||||||
|
|
||||||
|
if (self->envvars)
|
||||||
|
{
|
||||||
|
guint n_items = g_list_model_get_n_items (G_LIST_MODEL (self->envvars));
|
||||||
|
g_autofree char **envvars = g_new0 (char *, n_items + 1);
|
||||||
|
|
||||||
|
for (guint i = 0; i < n_items; i++)
|
||||||
|
{
|
||||||
|
GtkStringObject *str_obj = g_list_model_get_item (G_LIST_MODEL (self->envvars), i);
|
||||||
|
|
||||||
|
envvars[i] = g_strdup (gtk_string_object_get_string (str_obj));
|
||||||
|
}
|
||||||
|
|
||||||
|
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)))
|
||||||
g_object_set (self->recording_template,
|
g_object_set (self->recording_template,
|
||||||
@ -606,6 +623,21 @@ sysprof_greeter_init (SysprofGreeter *self)
|
|||||||
create_envvar_row_cb,
|
create_envvar_row_cb,
|
||||||
self, NULL);
|
self, NULL);
|
||||||
|
|
||||||
|
if (self->recording_template)
|
||||||
|
{
|
||||||
|
g_auto(GStrv) environ = NULL;
|
||||||
|
g_object_get (self->recording_template,
|
||||||
|
"environ", &environ,
|
||||||
|
NULL);
|
||||||
|
if (environ)
|
||||||
|
{
|
||||||
|
for (guint i = 0; environ[i]; i++)
|
||||||
|
{
|
||||||
|
gtk_string_list_append (self->envvars, environ[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
row = gtk_list_box_get_row_at_index (self->sidebar_list_box, 0);
|
row = gtk_list_box_get_row_at_index (self->sidebar_list_box, 0);
|
||||||
gtk_list_box_select_row (self->sidebar_list_box, row);
|
gtk_list_box_select_row (self->sidebar_list_box, row);
|
||||||
sidebar_row_activated_cb (self, row, self->sidebar_list_box);
|
sidebar_row_activated_cb (self, row, self->sidebar_list_box);
|
||||||
|
|||||||
@ -491,6 +491,7 @@ sysprof_recording_template_init (SysprofRecordingTemplate *self)
|
|||||||
self->system_log = TRUE;
|
self->system_log = TRUE;
|
||||||
self->command_line = g_strdup ("");
|
self->command_line = g_strdup ("");
|
||||||
self->cwd = g_strdup("");
|
self->cwd = g_strdup("");
|
||||||
|
self->environ = g_strdupv((char * []) { NULL });
|
||||||
self->stack_size = DEFAULT_STACK_SIZE;
|
self->stack_size = DEFAULT_STACK_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user