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;
    }
 }