From f12dcf4902d7e904b78d9f90094f200257a567de Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Wed, 14 Nov 2012 16:59:22 +0100 Subject: [PATCH] --- yaml --- r: 343083 b: refs/heads/master c: 29807d1e24b7cd696442d2f600057230f084b3c7 h: refs/heads/master i: 343081: de8f53ea371b9a3e09cda6639ba8f4f5731924c3 343079: 8e6b677b1fcdcc0ffc14193ce5d5067abab3d4f4 v: v3 --- [refs] | 2 +- trunk/drivers/input/input-mt.c | 2 +- trunk/include/linux/input/mt.h | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ee483c1f5017..840fe2356529 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: af8036dd749fbf4e732161ff0f3874759b73be40 +refs/heads/master: 29807d1e24b7cd696442d2f600057230f084b3c7 diff --git a/trunk/drivers/input/input-mt.c b/trunk/drivers/input/input-mt.c index c0ec7d42c3be..475b9d424eed 100644 --- a/trunk/drivers/input/input-mt.c +++ b/trunk/drivers/input/input-mt.c @@ -247,7 +247,7 @@ void input_mt_sync_frame(struct input_dev *dev) if (mt->flags & INPUT_MT_DROP_UNUSED) { for (s = mt->slots; s != mt->slots + mt->num_slots; s++) { - if (s->frame == mt->frame) + if (input_mt_is_used(mt, s)) continue; input_mt_slot(dev, s - mt->slots); input_event(dev, EV_ABS, ABS_MT_TRACKING_ID, -1); diff --git a/trunk/include/linux/input/mt.h b/trunk/include/linux/input/mt.h index cc5cca774bab..2e86bd0bfba1 100644 --- a/trunk/include/linux/input/mt.h +++ b/trunk/include/linux/input/mt.h @@ -69,6 +69,12 @@ static inline bool input_mt_is_active(const struct input_mt_slot *slot) return input_mt_get_value(slot, ABS_MT_TRACKING_ID) >= 0; } +static inline bool input_mt_is_used(const struct input_mt *mt, + const struct input_mt_slot *slot) +{ + return slot->frame == mt->frame; +} + int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots, unsigned int flags); void input_mt_destroy_slots(struct input_dev *dev);