GNOME Bugzilla – Bug 705203
Natural scroll doesn't work immediately
Last modified: 2014-01-09 15:44:49 UTC
Created attachment 250535 [details] notification screenshot Natural scroll doesn't work immediately after set up. Show restart notification when natural scroll is changed. Corresponding bug: https://bugzilla.redhat.com/show_bug.cgi?id=874591
Created attachment 250536 [details] [review] add restart notification
Review of attachment 250536 [details] [review]: Why does it need a restart? I'm pretty certain that it shouldn't...
(In reply to comment #2) > Review of attachment 250536 [details] [review]: > > Why does it need a restart? I'm pretty certain that it shouldn't... At least some opened gnome applications (e.g. gedit) needs to be restarted. Also testing area doesn't work correct when you enable/disable natural scrolling.
We need to fix this, not work around it.
Comment on attachment 250536 [details] [review] add restart notification As per previous comment.
(In reply to comment #4) > We need to fix this, not work around it. Synaptics Scrolling Distance is set immediately, so g-s-d part is correct. Problem is with gnome applications (nautilus, g-c-c, gedit, devhelp...), which needs to be restarted before. So it's probably connected with smooth scrolling introduced in gtk3, because it looks gtk2 based application change scrolling behavioral immediately. So gdk_event_get_scroll_deltas return wrong deltas probably. Carlos, could you look at please?
Moving to GTK+, as it's a bug there.
Created attachment 255951 [details] [review] Patch to fix the issue GdkDevice::changed is handled on XI2, although there was a bug in scroll valuators, the information stored about those axes in GdkX11DeviceXI2 wasn't being reset prior to the update from the device valuators, so the first value would stay persistently and new values were just appended. Besides the mild memory issue (device changes are semi-frequent), this also resulted in the first axes being always the effective matches for scroll axes, so the initial value was made persistent throughout the app lifetime.
Thanks, it works like charm with attached patch.
The patch looks good for me, however I'm not really experienced in gdk stuff. Could somebody look at please to fix this bug finally?
The patch is now on master, I'll look into backporting it to the stable branches
*** Bug 712560 has been marked as a duplicate of this bug. ***
*** Bug 715133 has been marked as a duplicate of this bug. ***
*** Bug 721847 has been marked as a duplicate of this bug. ***