summaryrefslogtreecommitdiff
path: root/gtk/gtkrange.c
diff options
context:
space:
mode:
authorNelson Benítez León <nbenitezl@gmail.com>2022-01-19 15:33:03 -0400
committerNelson Benítez León <nbenitezl@gmail.com>2022-01-20 20:05:39 -0400
commitd1bf21ea43ae601542e94193907d56794bcc87fd (patch)
treef4feb4608d7ff135e66e22ec4c4491fdd7dcede5 /gtk/gtkrange.c
parent10efc3cb0d8e30f4d7ac31da2cc904606a921ffe (diff)
downloadgtk+-combos_not_scroll.tar.gz
containers that can be scrolled should have precedencecombos_not_scroll
over child widgets that also react to scrolling like GtkComboBox, GtkScale and GtkSpinButton, because otherwise when you're in the middle of scrolling the view/window you can involuntarily scroll over the widgets and change its values. This problem can be seen in applications like pavucontrol, gnome-tweaks prefs, devhelp prefs, and so on. Fixes issue #3092
Diffstat (limited to 'gtk/gtkrange.c')
-rw-r--r--gtk/gtkrange.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 774174df52..826e6c4aac 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -3118,6 +3118,11 @@ gtk_range_scroll_event (GtkWidget *widget,
GtkRange *range = GTK_RANGE (widget);
GtkRangePrivate *priv = range->priv;
double delta = _gtk_range_get_wheel_delta (range, event);
+
+ /* Scrolling the parent window/container takes precedence - Issue #3092 */
+ if (gtk_widget_inside_scrollable_container (widget))
+ return GDK_EVENT_PROPAGATE;
+
gboolean handled;
g_signal_emit (range, signals[CHANGE_VALUE], 0,