eventcontrollerscroll: Events are unhandled by default
authorTimm Bäder <mail@baedert.org>
Wed, 25 Sep 2019 15:10:34 +0000 (17:10 +0200)
committerTimm Bäder <mail@baedert.org>
Wed, 25 Sep 2019 15:51:53 +0000 (17:51 +0200)
While the ::scroll signal always returns whether it handled the event,
the others do not, for example ::decelerate.

Previously, this caused the event to stop at a scroll controller with
CAPTURE phase, never emitting the ::decelerate signal on later
controllers with BUBBLE phase.

Fixes #2151

gtk/gtkeventcontrollerscroll.c

index 06b8d38efb0d7bdb4a81d1ce1cc1d6645024263c..3c355efc60ec1677cbbba3bab64b93079bf7024c 100644 (file)
@@ -243,7 +243,7 @@ gtk_event_controller_scroll_handle_event (GtkEventController *controller,
   GtkEventControllerScroll *scroll = GTK_EVENT_CONTROLLER_SCROLL (controller);
   GdkScrollDirection direction = GDK_SCROLL_SMOOTH;
   gdouble dx = 0, dy = 0;
-  gboolean handled = TRUE;
+  gboolean handled = GDK_EVENT_PROPAGATE;
 
   if (gdk_event_get_event_type (event) != GDK_SCROLL)
     return FALSE;