diff options
author | Nelson Benítez León <nbenitezl@gmail.com> | 2022-01-19 15:33:03 -0400 |
---|---|---|
committer | Nelson Benítez León <nbenitezl@gmail.com> | 2022-01-20 20:05:39 -0400 |
commit | d1bf21ea43ae601542e94193907d56794bcc87fd (patch) | |
tree | f4feb4608d7ff135e66e22ec4c4491fdd7dcede5 /gtk/gtkrange.c | |
parent | 10efc3cb0d8e30f4d7ac31da2cc904606a921ffe (diff) | |
download | gtk+-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.c | 5 |
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, |