Fixed main components page crash without root

pull/270/head
parent 0779f146ca
commit 32c986e9ca

@ -142,32 +142,34 @@ os_row *yon_os_row_new(){
void *yon_modules_list_load(main_window *widgets){ void *yon_modules_list_load(main_window *widgets){
int size; if (!getuid()||!yon_char_is_empty(config(source_parameter))){ return 0;
config_str modules = yon_config_load(yon_debug_output("%s\n",get_modules_command),&size); int size;
for(int i=1;i<size;i++){ config_str modules = yon_config_load(yon_debug_output("%s\n",get_modules_command),&size);
yon_char_remove_last_symbol(modules[i],'\n'); for(int i=1;i<size;i++){
int parsed_size=0; yon_char_remove_last_symbol(modules[i],'\n');
config_str parsed = NULL; int parsed_size=0;
parsed = yon_char_parse(modules[i],&parsed_size,";"); config_str parsed = NULL;
struct row_data *row = malloc(sizeof(struct row_data)); parsed = yon_char_parse(modules[i],&parsed_size,";");
row->version = parsed[3]; struct row_data *row = malloc(sizeof(struct row_data));
row->name = parsed[1]; row->version = parsed[3];
row->tags = yon_char_replace(parsed[2]," ",", "); row->name = parsed[1];
row->description = parsed[5]; row->tags = yon_char_replace(parsed[2]," ",", ");
row->widgets=widgets; row->description = parsed[5];
row->source = parsed[0]; 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 sizemod;
char *size_str = yon_size_get_name_from_letter(sizemod); char *temp = yon_char_from_double(yon_size_long_convert_automatic(atol(parsed[4]),&sizemod));
row->size = yon_char_unite(temp," ", size_str,NULL); char *size_str = yon_size_get_name_from_letter(sizemod);
free(temp); row->size = yon_char_unite(temp," ", size_str,NULL);
g_idle_add((GSourceFunc)yon_os_component_insert,row); 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); 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_thread_exit(NULL); g_thread_exit(NULL);
} }

Loading…
Cancel
Save