diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-03-15 18:24:52 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-03-22 11:14:07 -0400 |
commit | c5ef926b7d43627ec310e22c988b01767e38cb87 (patch) | |
tree | f3ec4c70c4eeb3ed6e83ed3e3216f0f2acccdd76 | |
parent | e121ef1b96684a75633f0fe77dd35bbf95bb79dc (diff) | |
download | gtk+-c5ef926b7d43627ec310e22c988b01767e38cb87.tar.gz |
Only create a class shortcut controller if we have shortcuts
No point in creating objects that just hold empty lists.
-rw-r--r-- | gtk/gtkwidget.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 7826d1a534..41e0815286 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -2467,9 +2467,12 @@ gtk_widget_init (GTypeInstance *instance, gpointer g_class) if (layout_manager_type != G_TYPE_INVALID) gtk_widget_set_layout_manager (widget, g_object_new (layout_manager_type, NULL)); - controller = gtk_shortcut_controller_new_for_model (G_LIST_MODEL (GTK_WIDGET_CLASS (g_class)->priv->shortcuts)); - gtk_event_controller_set_name (controller, "gtk-widget-class-shortcuts"); - gtk_widget_add_controller (widget, controller); + if (g_list_model_get_n_items (G_LIST_MODEL (GTK_WIDGET_CLASS (g_class)->priv->shortcuts)) > 0) + { + controller = gtk_shortcut_controller_new_for_model (G_LIST_MODEL (GTK_WIDGET_CLASS (g_class)->priv->shortcuts)); + gtk_event_controller_set_name (controller, "gtk-widget-class-shortcuts"); + gtk_widget_add_controller (widget, controller); + } } /** |