summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSophie Herold <sophie@hemio.de>2023-01-25 22:26:07 +0100
committerSophie Herold <sophie@hemio.de>2023-01-26 20:12:10 +0100
commite62ca17f88c9af9d67ead3f0611e0dd9df8c8e88 (patch)
treeee15a97beff22a5a7338fc4483169a3734e26cbd
parent30987168fb3f8dd26b47d5a0667abb2b9b5c73c5 (diff)
downloadgtk+-e62ca17f88c9af9d67ead3f0611e0dd9df8c8e88.tar.gz
scrolledWindow: Propagate event for no scrolling
-rw-r--r--gtk/gtkscrolledwindow.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index 90f0222ee6..4e497c1178 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -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);