diff options
Diffstat (limited to 'x11-libs/libXi/files/fix-bad-unlock.patch')
-rw-r--r-- | x11-libs/libXi/files/fix-bad-unlock.patch | 529 |
1 files changed, 529 insertions, 0 deletions
diff --git a/x11-libs/libXi/files/fix-bad-unlock.patch b/x11-libs/libXi/files/fix-bad-unlock.patch new file mode 100644 index 000000000000..4bc1a533381a --- /dev/null +++ b/x11-libs/libXi/files/fix-bad-unlock.patch @@ -0,0 +1,529 @@ +diff --git a/src/XExtInt.c b/src/XExtInt.c +index e5baccb..aa838ef 100644 +--- a/src/XExtInt.c ++++ b/src/XExtInt.c +@@ -207,7 +207,7 @@ _XiCheckExtInit(dpy, version_index) + return (-1); + } + ((XInputData *) info->data)->vers = +- _XiGetExtensionVersion(dpy, "XInputExtension"); ++ _XiGetExtensionVersion(dpy, "XInputExtension", info); + } + + if (versions[version_index].major_version > Dont_Check) { +diff --git a/src/XGetVers.c b/src/XGetVers.c +index 1f4fd7a..ef41fea 100644 +--- a/src/XGetVers.c ++++ b/src/XGetVers.c +@@ -64,9 +64,10 @@ XExtensionVersion * + XGetExtensionVersion(register Display * dpy, _Xconst char *name) + { + XExtensionVersion *ext; ++ XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- ext = _XiGetExtensionVersion(dpy, name); ++ ext = _XiGetExtensionVersion(dpy, name, info); + if (ext != (XExtensionVersion *) NoSuchExtension) { + UnlockDisplay(dpy); + SyncHandle(); +@@ -75,12 +76,11 @@ XGetExtensionVersion(register Display * + } + + XExtensionVersion * +-_XiGetExtensionVersion(register Display * dpy, _Xconst char *name) ++_XiGetExtensionVersion(register Display * dpy, _Xconst char *name, XExtDisplayInfo *info) + { + xGetExtensionVersionReq *req; + xGetExtensionVersionReply rep; + XExtensionVersion *ext; +- XExtDisplayInfo *info = XInput_find_display(dpy); + + if (_XiCheckExtInit(dpy, Dont_Check) == -1) + return ((XExtensionVersion *) NoSuchExtension); +diff --git a/src/XIint.h b/src/XIint.h +index ba965a6..ae6d33f 100644 +--- a/src/XIint.h ++++ b/src/XIint.h +@@ -12,6 +12,6 @@ extern XExtDisplayInfo *XInput_find_disp + + extern int _XiCheckExtInit(Display *, int); + +-extern XExtensionVersion *_XiGetExtensionVersion(Display *, _Xconst char *); ++extern XExtensionVersion *_XiGetExtensionVersion(Display *, _Xconst char *, XExtDisplayInfo *); + + #endif +diff --git a/src/XAllowDv.c b/src/XAllowDv.c +index 94a27ca..7fd2a07 100644 +--- a/src/XAllowDv.c ++++ b/src/XAllowDv.c +@@ -71,7 +71,7 @@ XAllowDeviceEvents(dpy, dev, event_mode, + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(AllowDeviceEvents, req); +diff --git a/src/XChgDCtl.c b/src/XChgDCtl.c +index a196523..9e71475 100644 +--- a/src/XChgDCtl.c ++++ b/src/XChgDCtl.c +@@ -74,7 +74,7 @@ XChangeDeviceControl(dpy, dev, control, + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Add_XChangeDeviceControl) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Add_XChangeDeviceControl, info) == -1) + return (NoSuchExtension); + + GetReq(ChangeDeviceControl, req); +diff --git a/src/XChgFCtl.c b/src/XChgFCtl.c +index 32c7b24..e499b41 100644 +--- a/src/XChgFCtl.c ++++ b/src/XChgFCtl.c +@@ -73,7 +73,7 @@ XChangeFeedbackControl(dpy, dev, mask, f + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(ChangeFeedbackControl, req); +diff --git a/src/XChgKMap.c b/src/XChgKMap.c +index d0a334f..73de754 100644 +--- a/src/XChgKMap.c ++++ b/src/XChgKMap.c +@@ -74,7 +74,7 @@ XChangeDeviceKeyMapping(dpy, dev, first, + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(ChangeDeviceKeyMapping, req); +diff --git a/src/XChgKbd.c b/src/XChgKbd.c +index feba239..1b01207 100644 +--- a/src/XChgKbd.c ++++ b/src/XChgKbd.c +@@ -70,7 +70,7 @@ XChangeKeyboardDevice(dpy, dev) + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(ChangeKeyboardDevice, req); +diff --git a/src/XChgPnt.c b/src/XChgPnt.c +index 9e0a617..6123398 100644 +--- a/src/XChgPnt.c ++++ b/src/XChgPnt.c +@@ -72,7 +72,7 @@ XChangePointerDevice(dpy, dev, xaxis, ya + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(ChangePointerDevice, req); +diff --git a/src/XChgProp.c b/src/XChgProp.c +index 6939cb3..0c7377f 100644 +--- a/src/XChgProp.c ++++ b/src/XChgProp.c +@@ -73,7 +73,7 @@ XChangeDeviceDontPropagateList(dpy, wind + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(ChangeDeviceDontPropagateList, req); +diff --git a/src/XCloseDev.c b/src/XCloseDev.c +index 71e792a..ca19860 100644 +--- a/src/XCloseDev.c ++++ b/src/XCloseDev.c +@@ -69,7 +69,7 @@ XCloseDevice(dpy, dev) + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(CloseDevice, req); +diff --git a/src/XDevBell.c b/src/XDevBell.c +index 276a1b8..73f2e35 100644 +--- a/src/XDevBell.c ++++ b/src/XDevBell.c +@@ -71,7 +71,7 @@ XDeviceBell(dpy, dev, feedbackclass, fee + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Add_XDeviceBell) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Add_XDeviceBell, info) == -1) + return (NoSuchExtension); + + GetReq(DeviceBell, req); +diff --git a/src/XExtInt.c b/src/XExtInt.c +index aa838ef..b7297dc 100644 +--- a/src/XExtInt.c ++++ b/src/XExtInt.c +@@ -191,12 +191,12 @@ _xidevicebusy(dpy, error) + */ + + int +-_XiCheckExtInit(dpy, version_index) ++_XiCheckExtInit(dpy, version_index, info) + register Display *dpy; + register int version_index; ++ XExtDisplayInfo *info; + { + XExtensionVersion *ext; +- XExtDisplayInfo *info = XInput_find_display(dpy); + + XInputCheckExtension(dpy, info, -1); + +diff --git a/src/XGMotion.c b/src/XGMotion.c +index abcc06a..daa8792 100644 +--- a/src/XGMotion.c ++++ b/src/XGMotion.c +@@ -85,7 +85,7 @@ Time stop; + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return ((XDeviceTimeCoord *) NoSuchExtension); + + GetReq(GetDeviceMotionEvents, req); +diff --git a/src/XGetBMap.c b/src/XGetBMap.c +index 1eaaa23..15cad74 100644 +--- a/src/XGetBMap.c ++++ b/src/XGetBMap.c +@@ -81,7 +81,7 @@ XGetDeviceButtonMapping(dpy, device, map + xGetDeviceButtonMappingReply rep; + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + GetReq(GetDeviceButtonMapping, req); + +diff --git a/src/XGetDCtl.c b/src/XGetDCtl.c +index 139f7e7..8d034bf 100644 +--- a/src/XGetDCtl.c ++++ b/src/XGetDCtl.c +@@ -78,7 +78,7 @@ XGetDeviceControl(dpy, dev, control) + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Add_XChangeDeviceControl) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Add_XChangeDeviceControl, info) == -1) + return ((XDeviceControl *) NoSuchExtension); + + GetReq(GetDeviceControl, req); +diff --git a/src/XGetFCtl.c b/src/XGetFCtl.c +index 0101fc0..af4578c 100644 +--- a/src/XGetFCtl.c ++++ b/src/XGetFCtl.c +@@ -78,7 +78,7 @@ XGetFeedbackControl(dpy, dev, num_feedba + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return ((XFeedbackState *) NoSuchExtension); + + GetReq(GetFeedbackControl, req); +diff --git a/src/XGetKMap.c b/src/XGetKMap.c +index 59f6f93..0381e86 100644 +--- a/src/XGetKMap.c ++++ b/src/XGetKMap.c +@@ -76,7 +76,7 @@ #endif + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return ((KeySym *) NoSuchExtension); + + GetReq(GetDeviceKeyMapping, req); +diff --git a/src/XGetMMap.c b/src/XGetMMap.c +index 4a8c32f..ef92281 100644 +--- a/src/XGetMMap.c ++++ b/src/XGetMMap.c +@@ -72,7 +72,7 @@ XGetDeviceModifierMapping(dpy, dev) + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return ((XModifierKeymap *) NoSuchExtension); + + GetReq(GetDeviceModifierMapping, req); +diff --git a/src/XGetProp.c b/src/XGetProp.c +index 0ea8ceb..71d844b 100644 +--- a/src/XGetProp.c ++++ b/src/XGetProp.c +@@ -75,7 +75,7 @@ Window window; + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return ((XEventClass *) NoSuchExtension); + + GetReq(GetDeviceDontPropagateList, req); +diff --git a/src/XGetVers.c b/src/XGetVers.c +index ef41fea..d3c765a 100644 +--- a/src/XGetVers.c ++++ b/src/XGetVers.c +@@ -82,7 +82,7 @@ _XiGetExtensionVersion(register Display + xGetExtensionVersionReply rep; + XExtensionVersion *ext; + +- if (_XiCheckExtInit(dpy, Dont_Check) == -1) ++ if (_XiCheckExtInit(dpy, Dont_Check, info) == -1) + return ((XExtensionVersion *) NoSuchExtension); + + GetReq(GetExtensionVersion, req); +diff --git a/src/XGrDvBut.c b/src/XGrDvBut.c +index fbc26ba..6e35099 100644 +--- a/src/XGrDvBut.c ++++ b/src/XGrDvBut.c +@@ -80,7 +80,7 @@ XGrabDeviceButton(dpy, dev, button, modi + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(GrabDeviceButton, req); +diff --git a/src/XGrDvKey.c b/src/XGrDvKey.c +index 6731e2c..1389753 100644 +--- a/src/XGrDvKey.c ++++ b/src/XGrDvKey.c +@@ -80,7 +80,7 @@ XGrabDeviceKey(dpy, dev, key, modifiers, + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(GrabDeviceKey, req); +diff --git a/src/XGrabDev.c b/src/XGrabDev.c +index 536e369..92f1c11 100644 +--- a/src/XGrabDev.c ++++ b/src/XGrabDev.c +@@ -78,7 +78,7 @@ XGrabDevice(dpy, dev, grab_window, owner + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(GrabDevice, req); +diff --git a/src/XGtFocus.c b/src/XGtFocus.c +index 08cebd9..4e63918 100644 +--- a/src/XGtFocus.c ++++ b/src/XGtFocus.c +@@ -73,7 +73,7 @@ XGetDeviceFocus(dpy, dev, focus, revert_ + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(GetDeviceFocus, req); +diff --git a/src/XGtSelect.c b/src/XGtSelect.c +index 0f63caf..9f596fd 100644 +--- a/src/XGtSelect.c ++++ b/src/XGtSelect.c +@@ -76,7 +76,7 @@ XGetSelectedExtensionEvents(dpy, w, this + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + GetReq(GetSelectedExtensionEvents, req); + +diff --git a/src/XIint.h b/src/XIint.h +index ae6d33f..f35619c 100644 +--- a/src/XIint.h ++++ b/src/XIint.h +@@ -10,7 +10,7 @@ #define _XIINT_H_ + + extern XExtDisplayInfo *XInput_find_display(Display *); + +-extern int _XiCheckExtInit(Display *, int); ++extern int _XiCheckExtInit(Display *, int, XExtDisplayInfo *); + + extern XExtensionVersion *_XiGetExtensionVersion(Display *, _Xconst char *, XExtDisplayInfo *); + +diff --git a/src/XListDev.c b/src/XListDev.c +index ea9aa62..b9a617d 100644 +--- a/src/XListDev.c ++++ b/src/XListDev.c +@@ -82,7 +82,7 @@ XListInputDevices(dpy, ndevices) + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return ((XDeviceInfo *) NULL); + + GetReq(ListInputDevices, req); +diff --git a/src/XOpenDev.c b/src/XOpenDev.c +index ed168a6..d220330 100644 +--- a/src/XOpenDev.c ++++ b/src/XOpenDev.c +@@ -72,7 +72,7 @@ XOpenDevice(dpy, id) + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return ((XDevice *) NoSuchExtension); + + GetReq(OpenDevice, req); +diff --git a/src/XQueryDv.c b/src/XQueryDv.c +index a3a75f2..540f224 100644 +--- a/src/XQueryDv.c ++++ b/src/XQueryDv.c +@@ -76,7 +76,7 @@ XQueryDeviceState(dpy, dev) + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return ((XDeviceState *) NoSuchExtension); + + GetReq(QueryDeviceState, req); +diff --git a/src/XSelect.c b/src/XSelect.c +index b23829a..af0fb84 100644 +--- a/src/XSelect.c ++++ b/src/XSelect.c +@@ -71,7 +71,7 @@ XSelectExtensionEvent(dpy, w, event_list + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + GetReq(SelectExtensionEvent, req); + +diff --git a/src/XSetBMap.c b/src/XSetBMap.c +index bdfe501..cad6976 100644 +--- a/src/XSetBMap.c ++++ b/src/XSetBMap.c +@@ -75,7 +75,7 @@ XSetDeviceButtonMapping(dpy, device, map + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + GetReq(SetDeviceButtonMapping, req); + req->reqType = info->codes->major_opcode; +diff --git a/src/XSetDVal.c b/src/XSetDVal.c +index 6b382f1..43702b0 100644 +--- a/src/XSetDVal.c ++++ b/src/XSetDVal.c +@@ -74,7 +74,7 @@ XSetDeviceValuators(dpy, dev, valuators, + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Add_XSetDeviceValuators) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Add_XSetDeviceValuators, info) == -1) + return (NoSuchExtension); + + GetReq(SetDeviceValuators, req); +diff --git a/src/XSetMMap.c b/src/XSetMMap.c +index b0838f6..1077433 100644 +--- a/src/XSetMMap.c ++++ b/src/XSetMMap.c +@@ -72,7 +72,7 @@ XSetDeviceModifierMapping(dpy, dev, modm + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReqExtra(SetDeviceModifierMapping, mapSize, req); +diff --git a/src/XSetMode.c b/src/XSetMode.c +index 278c4ff..94e2b3d 100644 +--- a/src/XSetMode.c ++++ b/src/XSetMode.c +@@ -71,7 +71,7 @@ XSetDeviceMode(dpy, dev, mode) + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(SetDeviceMode, req); +diff --git a/src/XSndExEv.c b/src/XSndExEv.c +index 6d65745..71431cd 100644 +--- a/src/XSndExEv.c ++++ b/src/XSndExEv.c +@@ -81,7 +81,7 @@ XSendExtensionEvent(dpy, dev, dest, prop + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + /* call through display to find proper conversion routine */ +diff --git a/src/XUngrDev.c b/src/XUngrDev.c +index ecc8887..70ba03d 100644 +--- a/src/XUngrDev.c ++++ b/src/XUngrDev.c +@@ -70,7 +70,7 @@ XUngrabDevice(dpy, dev, time) + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + + GetReq(UngrabDevice, req); +diff --git a/src/XUngrDvB.c b/src/XUngrDvB.c +index 07f2c3f..77dbe77 100644 +--- a/src/XUngrDvB.c ++++ b/src/XUngrDvB.c +@@ -73,7 +73,7 @@ XUngrabDeviceButton(dpy, dev, button, mo + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + GetReq(UngrabDeviceButton, req); + +diff --git a/src/XUngrDvK.c b/src/XUngrDvK.c +index e9e4cdf..0ae3178 100644 +--- a/src/XUngrDvK.c ++++ b/src/XUngrDvK.c +@@ -73,7 +73,7 @@ XUngrabDeviceKey(dpy, dev, key, modifier + XExtDisplayInfo *info = XInput_find_display(dpy); + + LockDisplay(dpy); +- if (_XiCheckExtInit(dpy, XInput_Initial_Release) == -1) ++ if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); + GetReq(UngrabDeviceKey, req); + |