diff --git a/source/ubl-settings-keyboard-layouts.c b/source/ubl-settings-keyboard-layouts.c index 2c4009a..2825cb6 100644 --- a/source/ubl-settings-keyboard-layouts.c +++ b/source/ubl-settings-keyboard-layouts.c @@ -73,13 +73,17 @@ void yon_layouts_add(GtkTreeView *, GtkListStore *, main_window *widgets){ char *languages = config(keyboard_layout_parameter); int size; config_str parsed = yon_char_parse(languages,&size,","); - GtkTreeIter iter; + GtkTreeIter iter,itar; for_iter(window->list,&iter){ int found = 0; - char *id; + char *id, *id_var; gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&id,-1); for (int i=0;ilist),&iter,3,1,-1); found=1; break; @@ -88,6 +92,22 @@ void yon_layouts_add(GtkTreeView *, GtkListStore *, main_window *widgets){ if (!found) { gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,0,-1); } + if (gtk_tree_model_iter_children(GTK_TREE_MODEL(window->list),&itar,&iter)){ + for (int valid2=1;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){ + gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&id,1,&id_var,-1); + for (int i=0;ilist),&itar,3,1,-1); + found=1; + break; + } + } + } + } + } }