Fixed service duplicating

pull/93/head
parent f5db2366c7
commit ef1241feb4

@ -1481,12 +1481,23 @@ void* yon_interface_update(main_window *widgets){
int names_size; int names_size;
config_str names_parsed = yon_char_parse(parsed[0],&names_size," "); config_str names_parsed = yon_char_parse(parsed[0],&names_size," ");
for (int j=0;j<names_size;j++){ for (int j=0;j<names_size;j++){
int enabled = !strcmp(parsed[5],"enabled"); int found=0;
int loaded = !strcmp(parsed[1],"loaded"); for_iter(widgets->SystemList,&iter){
int active = !strcmp(parsed[2],"active"); char *target;
enum YON_UNIT_TYPE type = yon_get_unit_type(names_parsed[j]); gtk_tree_model_get(GTK_TREE_MODEL(widgets->SystemList),&iter,5,&target,-1);
gtk_list_store_append(widgets->SystemList,&iter); if (!strcmp(target,names_parsed[j])){
gtk_list_store_set(widgets->SystemList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],-1); found = 1;
break;
}
}
if (!found) {
int enabled = !strcmp(parsed[5],"enabled");
int loaded = !strcmp(parsed[1],"loaded");
int active = !strcmp(parsed[2],"active");
enum YON_UNIT_TYPE type = yon_get_unit_type(names_parsed[j]);
gtk_list_store_append(widgets->SystemList,&iter);
gtk_list_store_set(widgets->SystemList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],-1);
}
} }
yon_char_parsed_free(names_parsed,names_size); yon_char_parsed_free(names_parsed,names_size);
} }
@ -1538,12 +1549,23 @@ void* yon_interface_update(main_window *widgets){
int names_size; int names_size;
config_str names_parsed = yon_char_parse(parsed[0],&names_size," "); config_str names_parsed = yon_char_parse(parsed[0],&names_size," ");
for (int j=0;j<names_size;j++){ for (int j=0;j<names_size;j++){
int enabled = !strcmp(parsed[5],"enabled"); int found=0;
int loaded = !strcmp(parsed[1],"loaded"); for_iter(widgets->UserList,&iter){
int active = !strcmp(parsed[2],"active"); char *target;
enum YON_UNIT_TYPE type = yon_get_unit_type(names_parsed[j]); gtk_tree_model_get(GTK_TREE_MODEL(widgets->UserList),&iter,5,&target,-1);
gtk_list_store_append(widgets->UserList,&iter); if (!strcmp(target,names_parsed[j])){
gtk_list_store_set(widgets->UserList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],-1); found = 1;
break;
}
}
if (found) {
int enabled = !strcmp(parsed[5],"enabled");
int loaded = !strcmp(parsed[1],"loaded");
int active = !strcmp(parsed[2],"active");
enum YON_UNIT_TYPE type = yon_get_unit_type(names_parsed[j]);
gtk_list_store_append(widgets->UserList,&iter);
gtk_list_store_set(widgets->UserList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],-1);
}
} }
yon_char_parsed_free(names_parsed,names_size); yon_char_parsed_free(names_parsed,names_size);
} }

Loading…
Cancel
Save