From 2748c7500e35096a609d82f4826016cc98ec3107 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Sat, 28 Dec 2024 13:48:40 +0600 Subject: [PATCH] Fixed system data reloading --- source/ubl-settings-usergroups.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 8c1b166..42b4ca2 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -74,16 +74,7 @@ int yon_load_proceed(YON_CONFIG_TYPE type){ } void yon_interface_update(main_window *widgets){ - gtk_list_store_clear(widgets->UsersList); - gtk_list_store_clear(widgets->GroupsList); - if (main_config.groups_size) yon_char_parsed_free(main_config.groups,main_config.groups_size); - if (main_config.users_size) yon_char_parsed_free(main_config.users,main_config.users_size); - if (main_config.shadow_size) yon_char_parsed_free(main_config.shadow,main_config.shadow_size); - if (main_config.group_shadow_size) yon_char_parsed_free(main_config.group_shadow,main_config.group_shadow_size); - main_config.groups = yon_file_open(groups_path,&main_config.groups_size); - main_config.users = yon_file_open(users_path,&main_config.users_size); - main_config.shadow = yon_file_open(shadow_path,&main_config.shadow_size); - main_config.group_shadow = yon_file_open(group_shadow_path,&main_config.group_shadow_size); + on_system_update(NULL,widgets); int size; GtkTreeIter iter; char *def_groups = yon_config_get_by_key(USERGROUPS_parameter); @@ -1832,8 +1823,16 @@ void yon_system_load(main_window *window){ void on_system_update(GtkWidget *, main_window *window){ + gtk_list_store_clear(widgets->UsersList); + gtk_list_store_clear(widgets->GroupsList); + if (main_config.groups_size) yon_char_parsed_free(main_config.groups,main_config.groups_size); + if (main_config.users_size) yon_char_parsed_free(main_config.users,main_config.users_size); + if (main_config.shadow_size) yon_char_parsed_free(main_config.shadow,main_config.shadow_size); + if (main_config.group_shadow_size) yon_char_parsed_free(main_config.group_shadow,main_config.group_shadow_size); main_config.groups = yon_file_open(groups_path,&main_config.groups_size); main_config.users = yon_file_open(users_path,&main_config.users_size); + main_config.shadow = yon_file_open(shadow_path,&main_config.shadow_size); + main_config.group_shadow = yon_file_open(group_shadow_path,&main_config.group_shadow_size); int login_size; config_str login_defs = yon_file_open(uid_path,&login_size); for (int i=0;i