summaryrefslogtreecommitdiff
path: root/mi
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2012-12-19 18:42:38 +0100
committerPeter Hutterer <peter.hutterer@who-t.net>2013-01-09 11:23:06 +1000
commit0fbd779a82919d5dbf8776be9b57a76c0eae6b14 (patch)
tree36c6b50d3e3bc716188cc4bf19eacddd5d77aaf7 /mi
parent8f4820be7a2e0f6e286ddc85c4b75bccdbe8a730 (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.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mi/mieq.c b/mi/mieq.c
index 22f8c91bb..d7d73deb6 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -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