linux-packaging-mono/external/bockbuild/packages/patches/gtk/0010-gtk-don-t-let-insensitive-children-eat-scroll-events.patch

37 lines
1.2 KiB
Diff
Raw Normal View History

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)