diff options
| author | Peter Hutterer <peter.hutterer@who-t.net> | 2013-07-01 14:39:53 +1000 |
|---|---|---|
| committer | Peter Hutterer <peter.hutterer@who-t.net> | 2013-07-01 14:39:53 +1000 |
| commit | cca3cc95af5e48d573c7ae587b8672fcef471acf (patch) | |
| tree | 625df05d6e2e35c4d9195663182ccb49cd3b63be | |
| parent | 6f78a7adabfed0a416e0d243e1cfe78c91013887 (diff) | |
| download | libevdev-cca3cc95af5e48d573c7ae587b8672fcef471acf.tar.gz | |
Don't sync mt axes that don't exist
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
| -rw-r--r-- | libevdev/libevdev.c | 6 |
1 files changed, 6 insertions, 0 deletions
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; |
