diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2012-12-19 18:42:38 +0100 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2013-01-09 11:23:06 +1000 |
commit | 0fbd779a82919d5dbf8776be9b57a76c0eae6b14 (patch) | |
tree | 36c6b50d3e3bc716188cc4bf19eacddd5d77aaf7 /mi | |
parent | 8f4820be7a2e0f6e286ddc85c4b75bccdbe8a730 (diff) |
mi: Ensure pointer emulating touch events update the sprite
Different miPointerSpriteFuncRec implementations do a varying
business at ultimately calling miPointerUpdateSprite(), this
particularly fails when using the plain mi sprite on touch events,
where the sprite is just moved/updated on cursor changes.
So, ensure miPointerUpdateSprite() is called generically for
pointer emulating touch events as with regular motion events.
Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'mi')
-rw-r--r-- | mi/mieq.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -627,7 +627,11 @@ mieqProcessInputEvents(void) mieqProcessDeviceEvent(dev, &event, screen); /* Update the sprite now. Next event may be from different device. */ - if (event.any.type == ET_Motion && master) + if (master && + (event.any.type == ET_Motion || + ((event.any.type == ET_TouchBegin || + event.any.type == ET_TouchUpdate) && + event.device_event.flags & TOUCH_POINTER_EMULATED))) miPointerUpdateSprite(dev); #ifdef XQUARTZ |