From 32c986e9caf8dac9f4f2249d9fab49dd56bdf0db Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 4 Mar 2026 11:51:03 +0600 Subject: [PATCH] Fixed main components page crash without root --- source/ubinstall-gtk-components.c | 52 ++++++++++++++++--------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 5bb7878..8c98556 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -142,32 +142,34 @@ os_row *yon_os_row_new(){ void *yon_modules_list_load(main_window *widgets){ - int size; - config_str modules = yon_config_load(yon_debug_output("%s\n",get_modules_command),&size); - for(int i=1;iversion = parsed[3]; - row->name = parsed[1]; - row->tags = yon_char_replace(parsed[2]," ",", "); - row->description = parsed[5]; - row->widgets=widgets; - row->source = parsed[0]; - - char sizemod; - char *temp = yon_char_from_double(yon_size_long_convert_automatic(atol(parsed[4]),&sizemod)); - char *size_str = yon_size_get_name_from_letter(sizemod); - row->size = yon_char_unite(temp," ", size_str,NULL); - free(temp); - g_idle_add((GSourceFunc)yon_os_component_insert,row); + if (!getuid()||!yon_char_is_empty(config(source_parameter))){ return 0; + int size; + config_str modules = yon_config_load(yon_debug_output("%s\n",get_modules_command),&size); + for(int i=1;iversion = parsed[3]; + row->name = parsed[1]; + row->tags = yon_char_replace(parsed[2]," ",", "); + row->description = parsed[5]; + row->widgets=widgets; + row->source = parsed[0]; + + char sizemod; + char *temp = yon_char_from_double(yon_size_long_convert_automatic(atol(parsed[4]),&sizemod)); + char *size_str = yon_size_get_name_from_letter(sizemod); + row->size = yon_char_unite(temp," ", size_str,NULL); + free(temp); + g_idle_add((GSourceFunc)yon_os_component_insert,row); + } + if (main_config.modules_size) yon_char_parsed_free(main_config.modules,main_config.modules_size); + main_config.modules = modules; + main_config.modules_size = size; } - g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner); - if (main_config.modules_size) yon_char_parsed_free(main_config.modules,main_config.modules_size); - main_config.modules = modules; - main_config.modules_size = size; + g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner); g_thread_exit(NULL); }