diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2016-01-13 20:53:54 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2016-01-19 00:00:05 +0100 |
commit | c2e043b7d69eaaa6ad94bbfa2e146030bb110b2f (patch) | |
tree | 0b797a6f9797aca1cedf36f2ed3d4154ef18d285 | |
parent | 3da9ad48b1cf0ef2ec8dc86583e6cd4c78654aee (diff) | |
download | gtk+-c2e043b7d69eaaa6ad94bbfa2e146030bb110b2f.tar.gz |
gtk: Add private gtk_widget_reset_controllers()
This is a one-shot call that can be called on the places we
know we're taking input away.
-rw-r--r-- | gtk/gtkwidget.c | 27 | ||||
-rw-r--r-- | gtk/gtkwidgetprivate.h | 2 |
2 files changed, 18 insertions, 11 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 75935bcf96..14f6133748 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -13006,17 +13006,7 @@ gtk_widget_propagate_state (GtkWidget *widget, } if (!gtk_widget_is_sensitive (widget)) - { - EventControllerData *controller_data; - GList *l; - - /* Reset all controllers */ - for (l = priv->event_controllers; l; l = l->next) - { - controller_data = l->data; - gtk_event_controller_reset (controller_data->controller); - } - } + gtk_widget_reset_controllers (widget); if (GTK_IS_CONTAINER (widget)) { @@ -17596,3 +17586,18 @@ _gtk_widget_consumes_motion (GtkWidget *widget, return FALSE; } + +void +gtk_widget_reset_controllers (GtkWidget *widget) +{ + EventControllerData *controller_data; + GtkWidgetPrivate *priv = widget->priv; + GList *l; + + /* Reset all controllers */ + for (l = priv->event_controllers; l; l = l->next) + { + controller_data = l->data; + gtk_event_controller_reset (controller_data->controller); + } +} diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h index 18bc98030c..c54ecccc8f 100644 --- a/gtk/gtkwidgetprivate.h +++ b/gtk/gtkwidgetprivate.h @@ -294,6 +294,8 @@ void gtk_widget_set_csd_input_shape (GtkWidget gboolean gtk_widget_has_size_request (GtkWidget *widget); +void gtk_widget_reset_controllers (GtkWidget *widget); + /* inline getters */ static inline gboolean |