libxi: Changes to 'upstream-unstable'
configure.ac | 2 +-
src/XChgDCtl.c | 13 ++++++++++++-
src/XExtInt.c | 2 +-
src/XGtSelect.c | 4 ++++
src/XStFocus.c | 2 ++
5 files changed, 20 insertions(+), 3 deletions(-)
New commits:
commit bf01e98979e6fa500f74d882c1b21746c60d5d31
Author: Daniel Stone <daniel@fooishbar.org>
Date: Wed Aug 1 05:16:45 2007 +0300
XSetDeviceFocus: Add missing extension check
Actually check for Xi existing before we try to do anything fancy.
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;
commit 8f5f7e9d6fc288a5cc00df3a7fec44211cdbe8f4
Author: David Weinehall <tao@debian.org>
Date: Wed Aug 1 05:12:21 2007 +0300
XGetSelectedExtensionEvents: Still more locking bugs
Fix a couple more return-without-unlocks.
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++) {
commit a07c3cc1eec0427a056414ef44ef6ee4204df383
Author: Daniel Stone <daniel@fooishbar.org>
Date: Wed Aug 1 03:03:44 2007 +0300
XChangeDeviceControl: Fix completely broken locking
Drop the display lock when we exit from XChangeDeviceControl(), instead of
leaking it.
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;
}
}
commit 7f1b5257b7eb0c873988c33453c110fc5f9996dd
Author: Daniel Stone <daniel@fooishbar.org>
Date: Wed Aug 1 01:59:17 2007 +0300
Bump to 1.1.2
diff --git a/configure.ac b/configure.ac
index 1044ec2..2641313 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.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXi)
+AC_INIT(libXi, 1.1.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXi)
AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE
commit 257345a0500ef0b7cf8e56f19a8bf93721408673
Author: Daniel Stone <daniel@fooishbar.org>
Date: Wed Aug 1 01:37:05 2007 +0300
DevicePresenceNotify: Don't make non-static function, static
I wish that there was a better way to do this, but c'est la vie. It's our
exposed API, so we've just got to deal for now.
diff --git a/src/XExtInt.c b/src/XExtInt.c
index 8366104..10f728d 100644
--- a/src/XExtInt.c
+++ b/src/XExtInt.c
@@ -259,7 +259,7 @@ Ones(mask)
return (((y + (y >> 3)) & 030707070707) % 077);
}
-static int
+int
_XiGetDevicePresenceNotifyEvent(Display * dpy)
{
XExtDisplayInfo *info = XInput_find_display(dpy);
Reply to: