mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-04-20 00:10:38 +02:00
xfree86: set mask for valuators 0/1 when emulating core events (#30267)
EventToCore as of the commit below won't generate core motion events if the valuator mask for x/y isn't set. For DGA, we work around this check by forcibly setting the mask in the event we pass down. commitde8be07cc0Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Tue Aug 17 12:08:52 2010 +1000 dix: don't create core motion events for non-x/y valuators. X.Org Bug 30267 <http://bugs.freedesktop.org/show_bug.cgi?id=30267> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Tested-by: Andrew Randrianasulu <randrik@mail.ru> Tested-by: Andy Furniss Reviewed-by: Daniel Stone <daniel@fooishbar.org> (cherry picked from commit9872e0f011)
This commit is contained in:
parent
79f2a58c32
commit
b144c0f4c7
1 changed files with 4 additions and 0 deletions
|
|
@ -1133,6 +1133,10 @@ DGAProcessPointerEvent (ScreenPtr pScreen, DGAEvent *event, DeviceIntPtr mouse)
|
|||
ev.root_x = event->dx;
|
||||
ev.root_y = event->dy;
|
||||
ev.corestate = event->state;
|
||||
/* DGA is core only, so valuators.data doesn't actually matter.
|
||||
* Mask must be set for EventToCore to create motion events. */
|
||||
SetBit(ev.valuators.mask, 0);
|
||||
SetBit(ev.valuators.mask, 1);
|
||||
DeliverGrabbedEvent ((InternalEvent*)&ev, mouse, FALSE);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue