6bdd276d05
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
37 lines
1.2 KiB
Diff
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)
|