GNOME Bugzilla – Bug 736830
GtkVolumeButton reaction inverted on scrolling action when "opened" and "closed"
Last modified: 2014-09-23 00:28:51 UTC
In rhythmbox-3.0.3-4.fc21.x86_64 there is a volume button and when you scroll over it (without opening/clicking) it changes volume, but volume events are inverted, and when you open it and slider is present, scrolling over slider works properly (not inverted). I'm not sure if this is a gtk+ bug or rhythmbox, someone on IRC reported same experience with other "application". I'll ask him to comment on this bug. gtk3-3.13.8-1.fc21.x86_64
maybe related to this https://bugzilla.gnome.org/show_bug.cgi?id=710849 Also some other "widgets" are broken, in rhythmbox "progress" slider, or in system-settings > sound all sliders are inverted or in system-settings > mouse&touchpad ... I'm using default mouse scrolling directions. Maybe this is not just about GtkVolumeButton
It looks like GtkScaleButton applies GDK_SCROLL_SMOOTH events backwards with respect to how it applies GDK_SCROLL_UP/DOWN events. GDK_SCROLL_UP increases the scale value by the adjustment step value. GDK_SCROLL_SMOOTH events for scrolling up have negative event->delta_y, so the scale value is decreased.
Created attachment 286481 [details] [review] scalebutton: Invert smooth scroll dy when adding to the current value On regular scrolling (ie. not natural scrolling), positive deltas in the Y axis (downwards) should actually move the value towards the adjustment minimum value to be more intuitive. This also makes the scrolling directions match between the button and the popped up scale.
That's what I did too, if that helps at all.
Review of attachment 286481 [details] [review]: ok
Attachment 286481 [details] pushed as f8f74b5 - scalebutton: Invert smooth scroll dy when adding to the current value