# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1612778017 0 # Node ID 27c20fa1615e21db9aa8d66b8072c4726c1a4b12 # Parent 1cffb66cf7b8384dde415479583052a1ca0018f7 GTK4: Fix a crash while trying to create a popup menu... The popup menu still doesn't work... getting an error about needing to call gtk_widget_measure() ... but it prevents the crash at least until I can figure out what is wrong. diff -r 1cffb66cf7b8 -r 27c20fa1615e gtk4/dw.c --- a/gtk4/dw.c Mon Feb 08 02:09:40 2021 +0000 +++ b/gtk4/dw.c Mon Feb 08 09:53:37 2021 +0000 @@ -2557,14 +2557,13 @@ { if(menu && *menu && G_MENU(*menu)) { - GtkWidget *popover = gtk_popover_new(); GtkWidget *tmp = gtk_popover_menu_new_from_model_full(G_MENU_MODEL(*menu), GTK_POPOVER_MENU_NESTED); + gtk_widget_set_parent(tmp, GTK_WIDGET(parent)); _dw_menu_set_group_recursive(*menu, GTK_WIDGET(tmp)); - gtk_popover_set_child(GTK_POPOVER(popover), GTK_WIDGET(tmp)); - gtk_popover_set_offset(GTK_POPOVER(popover), x, y); - gtk_popover_set_autohide(GTK_POPOVER(popover), TRUE); - gtk_popover_popup(GTK_POPOVER(popover)); + gtk_popover_set_offset(GTK_POPOVER(tmp), x, y); + gtk_popover_set_autohide(GTK_POPOVER(tmp), TRUE); + gtk_popover_popup(GTK_POPOVER(tmp)); *menu = NULL; } }