[gtk+] widget: reset all controllers when the widget becomes insensitive
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] widget: reset all controllers when the widget becomes insensitive
- Date: Thu, 5 Jun 2014 14:16:24 +0000 (UTC)
commit 90424289fb8dbe1f0ef948f71a919082e4b9627d
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Jun 5 15:31:35 2014 +0200
widget: reset all controllers when the widget becomes insensitive
Widgets becoming insensitive won't receive further events, but there
could be chances the controllers don't get properly notified and reset
in those situations.
gtk/gtkwidget.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 39c0338..27e2896 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -12681,6 +12681,19 @@ gtk_widget_propagate_state (GtkWidget *widget,
g_list_free (devices);
}
+ if (!gtk_widget_is_sensitive (widget))
+ {
+ EventControllerData *data;
+ GList *l;
+
+ /* Reset all controllers */
+ for (l = priv->event_controllers; l; l = l->next)
+ {
+ data = l->data;
+ gtk_event_controller_reset (data->controller);
+ }
+ }
+
if (GTK_IS_CONTAINER (widget))
{
GtkStateData child_data;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]