From: Peter Hutterer Date: Mon, 1 Jul 2013 04:39:53 +0000 (+1000) Subject: Don't sync mt axes that don't exist X-Git-Tag: libevdev-0.2~33 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cca3cc95af5e48d573c7ae587b8672fcef471acf;p=platform%2Fupstream%2Flibevdev.git Don't sync mt axes that don't exist Signed-off-by: Peter Hutterer --- diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c index d85580c..d326c8d 100644 --- a/libevdev/libevdev.c +++ b/libevdev/libevdev.c @@ -352,6 +352,9 @@ sync_mt_state(struct libevdev *dev) if (i == ABS_MT_SLOT) continue; + if (!libevdev_has_event_code(dev, EV_ABS, i)) + continue; + idx = i - ABS_MT_MIN; mt_state[idx].code = i; rc = ioctl(dev->fd, EVIOCGMTSLOTS(sizeof(struct mt_state)), &mt_state[idx]); @@ -371,6 +374,9 @@ sync_mt_state(struct libevdev *dev) if (j == ABS_MT_SLOT) continue; + if (!libevdev_has_event_code(dev, EV_ABS, j)) + continue; + if (dev->mt_slot_vals[i][jdx] == mt_state[jdx].val[i]) continue;