diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | man/Makefile.am | 1 | ||||
-rw-r--r-- | src/XChgDCtl.c | 13 | ||||
-rw-r--r-- | src/XGMotion.c | 2 | ||||
-rw-r--r-- | src/XGtSelect.c | 4 | ||||
-rw-r--r-- | src/XStFocus.c | 2 |
7 files changed, 22 insertions, 3 deletions
@@ -18,3 +18,4 @@ missing mkinstalldirs xi.pc man/*.man +*~ diff --git a/configure.ac b/configure.ac index d5fef34..90ce967 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT(libXi, 1.1.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXi) +AC_INIT(libXi, 1.1.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXi) AM_INIT_AUTOMAKE([dist-bzip2]) AM_MAINTAINER_MODE diff --git a/man/Makefile.am b/man/Makefile.am index 4d4eb0a..80e5e64 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,4 +1,3 @@ -# $Id$ # # Copyright 2005 Sun Microsystems, Inc. All rights reserved. # diff --git a/src/XChgDCtl.c b/src/XChgDCtl.c index f7a537a..952164c 100644 --- a/src/XChgDCtl.c +++ b/src/XChgDCtl.c @@ -104,8 +104,11 @@ XChangeDeviceControl(dpy, dev, control, d) UnlockDisplay(dpy); SyncHandle(); return (NoSuchExtension); - } else + } else { + UnlockDisplay(dpy); + SyncHandle(); return (rep.status); + } } case DEVICE_ABS_CALIB: { @@ -132,6 +135,8 @@ XChangeDeviceControl(dpy, dev, control, d) return NoSuchExtension; } else { + UnlockDisplay(dpy); + SyncHandle(); return rep.status; } } @@ -158,6 +163,8 @@ XChangeDeviceControl(dpy, dev, control, d) return NoSuchExtension; } else { + UnlockDisplay(dpy); + SyncHandle(); return rep.status; } } @@ -179,6 +186,8 @@ XChangeDeviceControl(dpy, dev, control, d) return NoSuchExtension; } else { + UnlockDisplay(dpy); + SyncHandle(); return rep.status; } } @@ -200,6 +209,8 @@ XChangeDeviceControl(dpy, dev, control, d) return NoSuchExtension; } else { + UnlockDisplay(dpy); + SyncHandle(); return rep.status; } } diff --git a/src/XGMotion.c b/src/XGMotion.c index daa8792..cd361dd 100644 --- a/src/XGMotion.c +++ b/src/XGMotion.c @@ -115,6 +115,8 @@ Time stop; savp = readp = (int *)Xmalloc(size); bufp = (int *)Xmalloc(size2); if (!bufp || !savp) { + Xfree(bufp); + Xfree(savp); *nEvents = 0; _XEatData(dpy, (unsigned long)size); UnlockDisplay(dpy); diff --git a/src/XGtSelect.c b/src/XGtSelect.c index 9f596fd..95d3c87 100644 --- a/src/XGtSelect.c +++ b/src/XGtSelect.c @@ -106,6 +106,8 @@ XGetSelectedExtensionEvents(dpy, w, this_client_count, this_client_list, sizeof(XEventClass)); if (!*this_client_list) { _XEatData(dpy, (unsigned long)tlen + alen); + UnlockDisplay(dpy); + SyncHandle(); return (Success); } for (i = 0; i < *this_client_count; i++) { @@ -122,6 +124,8 @@ XGetSelectedExtensionEvents(dpy, w, this_client_count, this_client_list, Xfree((char *)*this_client_list); *this_client_list = NULL; _XEatData(dpy, (unsigned long)alen); + UnlockDisplay(dpy); + SyncHandle(); return (Success); } for (i = 0; i < *all_clients_count; i++) { diff --git a/src/XStFocus.c b/src/XStFocus.c index 08578c8..e544126 100644 --- a/src/XStFocus.c +++ b/src/XStFocus.c @@ -72,6 +72,8 @@ XSetDeviceFocus(dpy, dev, focus, revert_to, time) XExtDisplayInfo *info = XInput_find_display(dpy); LockDisplay(dpy); + if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1) + return (NoSuchExtension); GetReq(SetDeviceFocus, req); req->reqType = info->codes->major_opcode; |