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.
This commit is contained in:
Michael Natterer 2012-11-22 13:37:58 +01:00 committed by Michael Natterer
parent eb7bf0a2f4
commit 2d9454363f

View File

@ -2435,7 +2435,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);
}