diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-12-07 15:05:20 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-12-10 15:31:00 +1000 |
commit | 6f85ae4365528d6ff7bd1bea27f68edaa40f1b5c (patch) | |
tree | 5ae5d5ce65f2e0f4d0696eb61e18a52fdd24ddf7 | |
parent | dc990a09b03de914da94cb2423323b000a426217 (diff) | |
download | xf86-input-wacom-6f85ae4365528d6ff7bd1bea27f68edaa40f1b5c.tar.gz |
xsetwacom: don't try to get/set nonexistant buttons.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | tools/xsetwacom.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/xsetwacom.c b/tools/xsetwacom.c index 2a44ed7..1331ba8 100644 --- a/tools/xsetwacom.c +++ b/tools/xsetwacom.c @@ -1023,6 +1023,16 @@ static void map_button(Display *dpy, XDevice *dev, param_t* param, int argc, cha return; nmap = XGetDeviceButtonMapping(dpy, dev, map, nmap); + if (btn_no >= nmap) + { + fprintf(stderr, "Button number does not exist on device.\n"); + return; + } else if (ref_button >= nmap) + { + fprintf(stderr, "Reference button number does not exist on device.\n"); + return; + } + if (ref_button != -1) map[btn_no - 1] = map[ref_button - 1]; else @@ -1183,6 +1193,12 @@ static void get_button(Display *dpy, XDevice *dev, param_t *param, int argc, nmap = XGetDeviceButtonMapping(dpy, dev, map, nmap); + if (btn_no > nmap) + { + fprintf(stderr, "Button number does not exist on device.\n"); + return; + } + printf("%d\n", map[btn_no - 1]); XSetDeviceButtonMapping(dpy, dev, map, nmap); |