[gtk/wip/carlosg/for-master: 3/3] gtkmodelbutton: Drop special case to close GtkPopoverMenu




commit a939203e6e324ad0237d4f3bd083ecc8ae9a704b
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Oct 13 15:51:36 2020 +0200

    gtkmodelbutton: Drop special case to close GtkPopoverMenu
    
    With ::cascade-popdown in place, this special case is not necessary
    anymore.

 gtk/gtkmodelbutton.c | 22 +++++-----------------
 1 file changed, 5 insertions(+), 17 deletions(-)
---
diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c
index 54b55260ec..d55391de43 100644
--- a/gtk/gtkmodelbutton.c
+++ b/gtk/gtkmodelbutton.c
@@ -939,22 +939,6 @@ switch_menu (GtkModelButton *button)
     gtk_stack_set_visible_child_name (GTK_STACK (stack), button->menu_name);
 }
 
-static void
-close_menu (GtkModelButton *self)
-{
-  GtkWidget *popover;
-
-  popover = gtk_widget_get_ancestor (GTK_WIDGET (self), GTK_TYPE_POPOVER);
-  while (popover != NULL)
-    {
-      gtk_popover_popdown (GTK_POPOVER (popover));
-      if (GTK_IS_POPOVER_MENU (popover))
-        popover = gtk_popover_menu_get_parent_menu (GTK_POPOVER_MENU (popover));
-      else
-        popover = NULL;
-    }
-}
-
 static void
 gtk_model_button_clicked (GtkModelButton *self)
 {
@@ -975,7 +959,11 @@ gtk_model_button_clicked (GtkModelButton *self)
     }
   else if (self->role == GTK_BUTTON_ROLE_NORMAL)
     {
-      close_menu (self);
+      GtkWidget *popover;
+
+      popover = gtk_widget_get_ancestor (GTK_WIDGET (self), GTK_TYPE_POPOVER);
+      if (popover)
+        gtk_popover_popdown (GTK_POPOVER (popover));
     }
 
   if (self->action_helper)


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