linux-packaging-mono/external/bockbuild/packages/patches/gtk/0010-gtk-don-t-let-insensitive-children-eat-scroll-events.patch
Xamarin Public Jenkins (auto-signing) 6bdd276d05 Imported Upstream version 5.0.0.42
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
2017-04-10 11:41:01 +00:00

37 lines
1.2 KiB
Diff

From c0447e2741b3f9c966e337e6c7baf34cb66b0591 Mon Sep 17 00:00:00 2001
From: Michael Natterer <mitch@lanedo.com>
Date: Thu, 22 Nov 2012 13:37:58 +0100
Subject: [PATCH 10/68] gtk: don't let insensitive children eat scroll events
when bubbling down
When event capturing is enabled, stop propagating scroll events
at insensitive widgets, but don't handle them (don't return TRUE),
so they can bubble up again and reach their handling widgets.
---
gtk/gtkmain.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 21345ed..5ca0993 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -2482,7 +2482,15 @@ propagate_event_down (GtkWidget *widget,
widget = (GtkWidget *)l->data;
if (!gtk_widget_is_sensitive (widget))
- handled_event = TRUE;
+ {
+ /* stop propagating on SCROLL, but don't handle the event, so it
+ * can propagate up again and reach its handling widget
+ */
+ if (event->type == GDK_SCROLL)
+ break;
+ else
+ handled_event = TRUE;
+ }
else
handled_event = _gtk_widget_captured_event (widget, event);
}
--
1.7.10.2 (Apple Git-33)