Sun, 28 Dec 2025 15:38:50 +0100
fix invisible child widgets in listbox row update (GTK3)
| ui/gtk/list.c | file | annotate | diff | comparison | revisions | |
| ui/gtk/toolkit.h | file | annotate | diff | comparison | revisions |
--- a/ui/gtk/list.c Sat Dec 27 22:35:49 2025 +0100 +++ b/ui/gtk/list.c Sun Dec 28 15:38:50 2025 +0100 @@ -2620,6 +2620,7 @@ LISTBOX_ROW_REMOVE_CHILD(row); listbox_fill_row(listbox, GTK_WIDGET(row), sublist, &item, index); + LISTBOX_ROW_SHOW(row); // cleanup free(item.label); @@ -2756,6 +2757,7 @@ #endif listbox_fill_row(listbox, row, sublist, &item, index); + LISTBOX_ROW_SHOW(row); if(index == first_index) { // first row in the sublist, set ui_listbox data to the row // which is then used by the headerfunc
--- a/ui/gtk/toolkit.h Sat Dec 27 22:35:49 2025 +0100 +++ b/ui/gtk/toolkit.h Sun Dec 28 15:38:50 2025 +0100 @@ -75,6 +75,7 @@ #define LISTBOX_REMOVE(listbox, row) gtk_list_box_remove(GTK_LIST_BOX(listbox), row) #define LISTBOX_ROW_SET_CHILD(row, child) gtk_list_box_row_set_child(GTK_LIST_BOX_ROW(row), child) #define LISTBOX_ROW_REMOVE_CHILD(row) gtk_list_box_row_set_child(GTK_LIST_BOX_ROW(row), NULL) +#define LISTBOX_ROW_SHOW(row) #define PANED_SET_CHILD1(paned, child) gtk_paned_set_start_child(GTK_PANED(paned), child) #define PANED_SET_CHILD2(paned, child) gtk_paned_set_end_child(GTK_PANED(paned), child) #else @@ -98,6 +99,7 @@ #define LISTBOX_REMOVE(listbox, row) gtk_container_remove(GTK_CONTAINER(listbox), row) #define LISTBOX_ROW_SET_CHILD(row, child) gtk_container_add(GTK_CONTAINER(row), child) #define LISTBOX_ROW_REMOVE_CHILD(row) gtk_container_remove(GTK_CONTAINER(row), gtk_bin_get_child(GTK_BIN(row))) +#define LISTBOX_ROW_SHOW(row) gtk_widget_show_all(GTK_WIDGET(row)) #define PANED_SET_CHILD1(paned, child) gtk_paned_pack1(GTK_PANED(paned), child, TRUE, TRUE) #define PANED_SET_CHILD2(paned, child) gtk_paned_pack2(GTK_PANED(paned), child, TRUE, TRUE) #endif