Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:AndreasSchwab:X
xorg-x11-server
u_dix_make-sure-the-mask-is-set-for-emulated-sc...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File u_dix_make-sure-the-mask-is-set-for-emulated-scroll-events.patch of Package xorg-x11-server
Git-Commit: cb306a8f174bec9ded95191b91797f59250e6808 Path-Mainline: Upstream From: Peter Hutterer <peter.hutterer@who-t.net> Date: Tue, 31 Jul 2012 16:09:38 +1000 Subject: [PATCH] dix: make sure the mask is set for emulated scroll events References: bnc#779322 fdo#52508 Signed-off-by: Michal Srb <msrb@suse.com> If a device has smooth scrolling axes, but submits scroll button events, we convert those to motion events and update the valuators. For legacy button events, the valuator mask is likely unset though, causing add_to_scroll_valuator() to return early, leaving us with an empty mask. That again skipped the rest of the code and no events were generated. Fix it by making sure that the scroll valuator in the mask is at least initialized to 0. Broke evdev wheel emulation, introduced by 54476b5e4461ff523e935961affabcf0de12c556. X.Org Bug 52508 <http://bugs.freedesktop.org/show_bug.cgi?id=52508> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com> diff --git a/dix/getevents.c b/dix/getevents.c index 27c2e04..b3bb162 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -1625,6 +1625,8 @@ GetPointerEvents(InternalEvent *events, DeviceIntPtr pDev, int type, if (adj != 0.0 && axis != -1) { adj *= pDev->valuator->axes[axis].scroll.increment; + if (!valuator_mask_isset(&mask, axis)) + valuator_mask_set(&mask, axis, 0); add_to_scroll_valuator(pDev, &mask, axis, adj); type = MotionNotify; buttons = 0;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor