summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-12-07 15:05:20 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-12-10 15:31:00 +1000
commit6f85ae4365528d6ff7bd1bea27f68edaa40f1b5c (patch)
tree5ae5d5ce65f2e0f4d0696eb61e18a52fdd24ddf7
parentdc990a09b03de914da94cb2423323b000a426217 (diff)
downloadxf86-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.c16
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);