summaryrefslogtreecommitdiff
path: root/src/emuMB.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@redhat.com>2008-10-08 14:35:12 +1030
committerPeter Hutterer <peter.hutterer@redhat.com>2008-10-11 12:24:54 +1030
commite6c699dedcd6f3b5db497fe2d226806ca4bbe683 (patch)
tree931c59f4a6e58c2cb9d0ec86af53db7a5420e71a /src/emuMB.c
parent847eac826286e6202f42b9a2ccc160a232a710a3 (diff)
Stricter value checking for property changes.
Diffstat (limited to 'src/emuMB.c')
-rw-r--r--src/emuMB.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/emuMB.c b/src/emuMB.c
index 7dce38a..5de5227 100644
--- a/src/emuMB.c
+++ b/src/emuMB.c
@@ -391,9 +391,18 @@ EvdevMBEmuSetProperty(DeviceIntPtr dev, Atom atom, XIPropertyValuePtr val)
EvdevPtr pEvdev = pInfo->private;
if (atom == prop_mbemu)
+ {
+ if (val->format != 8 || val->size != 1 || val->type != XA_INTEGER)
+ return BadMatch;
+
pEvdev->emulateMB.enabled = *((BOOL*)val->data);
- else if (atom == prop_mbtimeout)
+ } else if (atom == prop_mbtimeout)
+ {
+ if (val->format != 16 || val->size != 1 || val->type != XA_INTEGER)
+ return BadMatch;
+
pEvdev->emulateMB.timeout = *((INT16*)val->data);
+ }
return Success;
}