diff options
author | Timm Bäder <mail@baedert.org> | 2020-03-28 20:37:29 +0100 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2020-03-29 15:32:54 +0200 |
commit | 785b33f169db0c3788f466037115ed3027b145b2 (patch) | |
tree | 2efa08b0e71804b89541cb099e7846607f837f23 /gtk/gtkpopovermenu.c | |
parent | af749dc1dc83810e6bbf0658dd608c1c1b75cb9e (diff) | |
download | gtk+-785b33f169db0c3788f466037115ed3027b145b2.tar.gz |
widget: Return an array from list_controllers
Minimize the GList usage throughout the code base.
Diffstat (limited to 'gtk/gtkpopovermenu.c')
-rw-r--r-- | gtk/gtkpopovermenu.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gtk/gtkpopovermenu.c b/gtk/gtkpopovermenu.c index 39c159ad45..12424e4bb2 100644 --- a/gtk/gtkpopovermenu.c +++ b/gtk/gtkpopovermenu.c @@ -201,7 +201,8 @@ gtk_popover_menu_init (GtkPopoverMenu *popover) { GtkWidget *stack; GtkEventController *controller; - GList *controllers, *l; + GtkEventController **controllers; + guint n_controllers, i; stack = gtk_stack_new (); gtk_stack_set_vhomogeneous (GTK_STACK (stack), FALSE); @@ -221,15 +222,15 @@ gtk_popover_menu_init (GtkPopoverMenu *popover) g_signal_connect (controller, "leave", G_CALLBACK (leave_cb), popover); gtk_widget_add_controller (GTK_WIDGET (popover), controller); - controllers = gtk_widget_list_controllers (GTK_WIDGET (popover), GTK_PHASE_CAPTURE); - for (l = controllers; l; l = l->next) + controllers = gtk_widget_list_controllers (GTK_WIDGET (popover), GTK_PHASE_CAPTURE, &n_controllers); + for (i = 0; i < n_controllers; i ++) { - controller = l->data; + controller = controllers[i]; if (GTK_IS_SHORTCUT_CONTROLLER (controller) && strcmp (gtk_event_controller_get_name (controller), "gtk-shortcut-manager-capture") == 0) gtk_shortcut_controller_set_mnemonics_modifiers (GTK_SHORTCUT_CONTROLLER (controller), 0); } - g_list_free (controllers); + g_free (controllers); gtk_popover_disable_auto_mnemonics (GTK_POPOVER (popover)); } |