scrolledWindow: Propagate event for no scrolling
authorSophie Herold <sophie@hemio.de>
Wed, 25 Jan 2023 21:26:07 +0000 (22:26 +0100)
committerSophie Herold <sophie@hemio.de>
Thu, 26 Jan 2023 19:12:10 +0000 (20:12 +0100)
gtk/gtkscrolledwindow.c

index 90f0222ee6a5bcc05de96f7098cf5d7bbdf33f64..4e497c1178c894d9ee3276d57d22ee5eacff82b8 100644 (file)
@@ -1222,6 +1222,10 @@ captured_scroll_cb (GtkEventControllerScroll *scroll,
 
   gtk_scrolled_window_cancel_deceleration (scrolled_window);
 
+  if (!may_hscroll (scrolled_window) &&
+      !may_vscroll (scrolled_window))
+    return GDK_EVENT_PROPAGATE;
+
   if (priv->smooth_scroll)
     {
       scrolled_window_scroll (scrolled_window, delta_x, delta_y, scroll);
@@ -1412,6 +1416,10 @@ scroll_controller_scroll (GtkEventControllerScroll *scroll,
   GtkScrolledWindowPrivate *priv =
     gtk_scrolled_window_get_instance_private (scrolled_window);
 
+  if (!may_hscroll (scrolled_window) &&
+      !may_vscroll (scrolled_window))
+    return GDK_EVENT_PROPAGATE;
+
   if (!priv->smooth_scroll)
     scrolled_window_scroll (scrolled_window, delta_x, delta_y, scroll);