summaryrefslogtreecommitdiff
path: root/dix
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2011-12-20 16:32:52 -0800
committerPeter Hutterer <peter.hutterer@who-t.net>2011-12-21 12:38:35 +1000
commite389a19a730055d4550ff708da83c78099a516fd (patch)
tree797d9bff8297db71c12a08a8664bc8d651dd24aa /dix
parent634b0da9a83076d0e9e0fc44dc5dc77b0c368bc1 (diff)
Process and deliver touch events
Does not include pointer emulation handling. Does include partial ownership handling but not the actual processing of ownership events. Note: this commit is a retroactive commit extracted from a series of ~50 commits and may thus appear a bit more complicated than what you'd write out from scratch. Pointer processing tree is roughly: - ProcessOtherEvents - ProcessTouchEvents - DeliverTouchEvents - DeliverTouchBeginEvent|DeliverTouchEndEvent|... - DeliverOneTouchEvent Also hooks up the event history playing to the right function now. Co-authored-by: Daniel Stone <daniel@fooishbar.org> Co-authored-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Diffstat (limited to 'dix')
-rw-r--r--dix/touch.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/dix/touch.c b/dix/touch.c
index 3e45e35a4..5615f2be6 100644
--- a/dix/touch.c
+++ b/dix/touch.c
@@ -496,7 +496,8 @@ TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev, XID resource)
flags |= TOUCH_POINTER_EMULATED;
/* send fake begin event to next owner */
nev = GetTouchEvents(tel, dev, ti->client_id, XI_TouchBegin, flags, mask);
- /* FIXME: deliver the event */
+ for (i = 0; i < nev; i++)
+ DeliverTouchEvents(dev, ti, tel + i, resource);
valuator_mask_free(&mask);
FreeEventList(tel, GetMaximumEventsNum());
@@ -506,7 +507,7 @@ TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev, XID resource)
{
DeviceEvent *ev = &ti->history[i];
ev->flags |= TOUCH_REPLAYING;
- /* FIXME: deliver the event */
+ DeliverTouchEvents(dev, ti, (InternalEvent*)ev, resource);
}
}