Sun, 28 Dec 2025 19:01:05 +0100
fix ui_set_visible (GTK3)
| ui/gtk/list.c | file | annotate | diff | comparison | revisions | |
| ui/gtk/toolkit.c | file | annotate | diff | comparison | revisions | |
| ui/gtk/toolkit.h | file | annotate | diff | comparison | revisions |
--- a/ui/gtk/list.c Sun Dec 28 16:13:34 2025 +0100 +++ b/ui/gtk/list.c Sun Dec 28 19:01:05 2025 +0100 @@ -2496,7 +2496,11 @@ UIMENU menu = data->customdata3; g_object_set_data(G_OBJECT(button), "ui-button-popup", menu); +#if GTK_CHECK_VERSION(4, 0, 0) gtk_popover_popup(GTK_POPOVER(menu)); +#else + ui_contextmenu_popup(menu, button, 0, 0); +#endif } } @@ -2588,6 +2592,7 @@ event ); gtk_widget_set_visible(button, FALSE); + WIDGET_NO_SHOW_ALL(button); g_object_set_data(G_OBJECT(row), "ui-listbox-row-button", button);
--- a/ui/gtk/toolkit.c Sun Dec 28 16:13:34 2025 +0100 +++ b/ui/gtk/toolkit.c Sun Dec 28 19:01:05 2025 +0100 @@ -239,9 +239,10 @@ gtk_widget_set_visible(widget, visible); #else if(visible) { + gtk_widget_set_no_show_all(widget, FALSE); gtk_widget_show_all(widget); } else { - gtk_widget_set_no_show_all(widget, FALSE); + gtk_widget_set_no_show_all(widget, TRUE); gtk_widget_hide(widget); } #endif
--- a/ui/gtk/toolkit.h Sun Dec 28 16:13:34 2025 +0100 +++ b/ui/gtk/toolkit.h Sun Dec 28 19:01:05 2025 +0100 @@ -58,6 +58,7 @@ #define WINDOW_SHOW(window) gtk_window_present(GTK_WINDOW(window)) #define WINDOW_DESTROY(window) gtk_window_destroy(GTK_WINDOW(window)) #define WINDOW_SET_CONTENT(window, child) gtk_window_set_child(GTK_WINDOW(window), child) +#define WIDGET_NO_SHOW_ALL(widget) #define BOX_ADD(box, child) gtk_box_append(GTK_BOX(box), child) #define BOX_ADD_EXPAND(box, child) gtk_widget_set_hexpand(child, TRUE); gtk_widget_set_vexpand(child, TRUE); gtk_box_append(GTK_BOX(box), child) #define BOX_ADD_NO_EXPAND(box, child) gtk_box_append(GTK_BOX(box), child) @@ -82,6 +83,7 @@ #define WINDOW_SHOW(window) gtk_widget_show_all(window) #define WINDOW_DESTROY(window) gtk_widget_destroy(window) #define WINDOW_SET_CONTENT(window, child) gtk_container_add(GTK_CONTAINER(window), child) +#define WIDGET_NO_SHOW_ALL(widget) gtk_widget_set_no_show_all(widget, TRUE) #define BOX_ADD(box, child) gtk_container_add(GTK_CONTAINER(box), child) #define BOX_ADD_EXPAND(box, child) gtk_box_pack_start(GTK_BOX(box), child, TRUE, TRUE, 0) #define BOX_ADD_NO_EXPAND(box, child) gtk_box_pack_start(GTK_BOX(box), child, TRUE, FALSE, 0)