[gtk: 1/2] popovermenu: Fix crash when removing child




commit aaba777ad08efdec3853321762f0de664cae6348
Author: Kévin Commaille <zecakeh tedomum fr>
Date:   Tue Jan 25 15:31:00 2022 +0100

    popovermenu: Fix crash when removing child
    
    gtk_menu_section_box_remove_custom was looking in the wrong place for the
    stack ancestor, causing an assertion error.

 gtk/gtkmenusectionbox.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkmenusectionbox.c b/gtk/gtkmenusectionbox.c
index 72ca8c8b1a..46df8a55f4 100644
--- a/gtk/gtkmenusectionbox.c
+++ b/gtk/gtkmenusectionbox.c
@@ -762,8 +762,11 @@ gtk_menu_section_box_remove_custom (GtkPopoverMenu *popover,
   const char *id;
   GtkWidget *slot;
 
-  stack = gtk_popover_get_child (GTK_POPOVER (popover));
+  stack = gtk_popover_menu_get_stack (popover);
   box = GTK_MENU_SECTION_BOX (gtk_stack_get_child_by_name (GTK_STACK (stack), "main"));
+  if (box == NULL)
+    return FALSE;
+
   parent = gtk_widget_get_parent (child);
 
   id = (const char *) g_object_get_data (G_OBJECT (parent), "slot-id");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]