diff options
Diffstat (limited to 'xorg-server/Xi')
-rw-r--r-- | xorg-server/Xi/exevents.c | 3 | ||||
-rw-r--r-- | xorg-server/Xi/extinit.c | 4 | ||||
-rw-r--r-- | xorg-server/Xi/listdev.c | 2 | ||||
-rw-r--r-- | xorg-server/Xi/xipassivegrab.c | 4 |
4 files changed, 9 insertions, 4 deletions
diff --git a/xorg-server/Xi/exevents.c b/xorg-server/Xi/exevents.c index 90f49e43b..700788213 100644 --- a/xorg-server/Xi/exevents.c +++ b/xorg-server/Xi/exevents.c @@ -2187,7 +2187,8 @@ CheckGrabValues(ClientPtr client, GrabParameters *param) return BadValue; } - if (param->grabtype != XI2 && (param->modifiers != AnyModifier) && + if (param->modifiers != AnyModifier && + param->modifiers != XIAnyModifier && (param->modifiers & ~AllModifiersMask)) { client->errorValue = param->modifiers; return BadValue; diff --git a/xorg-server/Xi/extinit.c b/xorg-server/Xi/extinit.c index 9ebd733ab..26c628cbd 100644 --- a/xorg-server/Xi/extinit.c +++ b/xorg-server/Xi/extinit.c @@ -1169,8 +1169,8 @@ IResetProc(ExtensionEntry * unused) EventSwapVector[DevicePropertyNotify] = NotImplemented; RestoreExtensionEvents(); - free((void *) xi_all_devices.name); - free((void *) xi_all_master_devices.name); + free(xi_all_devices.name); + free(xi_all_master_devices.name); XIBarrierReset(); } diff --git a/xorg-server/Xi/listdev.c b/xorg-server/Xi/listdev.c index e403a0cb5..336053cf1 100644 --- a/xorg-server/Xi/listdev.c +++ b/xorg-server/Xi/listdev.c @@ -121,7 +121,7 @@ SizeDeviceInfo(DeviceIntPtr d, int *namesize, int *size) static void CopyDeviceName(char **namebuf, const char *name) { - char *nameptr = (char *) *namebuf; + char *nameptr = *namebuf; if (name) { *nameptr++ = strlen(name); diff --git a/xorg-server/Xi/xipassivegrab.c b/xorg-server/Xi/xipassivegrab.c index 0e37e0e1b..ca69050b2 100644 --- a/xorg-server/Xi/xipassivegrab.c +++ b/xorg-server/Xi/xipassivegrab.c @@ -189,6 +189,10 @@ ProcXIPassiveGrabDevice(ClientPtr client) uint8_t status = Success; param.modifiers = *modifiers; + ret = CheckGrabValues(client, ¶m); + if (ret != Success) + goto out; + switch (stuff->grab_type) { case XIGrabtypeButton: status = GrabButton(client, dev, mod_dev, stuff->detail, |