summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--configure.ac2
-rw-r--r--man/Makefile.am1
-rw-r--r--src/XChgDCtl.c13
-rw-r--r--src/XGMotion.c2
-rw-r--r--src/XGtSelect.c4
-rw-r--r--src/XStFocus.c2
7 files changed, 22 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index fe49f15..1352d4c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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;