Mercurial > dwindows
changeset 2299:27c20fa1615e
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.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 08 Feb 2021 09:53:37 +0000 |
parents | 1cffb66cf7b8 |
children | 6e47d510dbbb |
files | gtk4/dw.c |
diffstat | 1 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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; } }