[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libxi: Changes to 'debian-unstable'



 ChangeLog                       |  119 ++++++++++++++++++++++++++++++++++++++++
 configure.ac                    |    2 
 debian/changelog                |   14 ++++
 debian/compat                   |    2 
 debian/control                  |   20 +++---
 debian/rules                    |  101 +++++----------------------------
 debian/upstream/signing-key.asc |   23 +++++++
 debian/watch                    |    1 
 src/XExtInt.c                   |    2 
 src/XGMotion.c                  |    2 
 src/XGetCPtr.c                  |    2 
 src/XGetDCtl.c                  |    2 
 src/XGetFCtl.c                  |    2 
 src/XGetKMap.c                  |    2 
 src/XGetMMap.c                  |    2 
 src/XGetProp.c                  |    2 
 src/XGetVers.c                  |   28 +++------
 src/XIAllowEvents.c             |    4 -
 src/XIGrabDevice.c              |   11 +++
 src/XIHierarchy.c               |   16 +++--
 src/XIProperties.c              |    3 -
 src/XIQueryDevice.c             |    3 -
 src/XIQueryVersion.c            |    8 ++
 src/XISelEv.c                   |    7 +-
 src/XIint.h                     |    1 
 src/XListDProp.c                |    2 
 src/XOpenDev.c                  |    2 
 src/XQueryDv.c                  |    2 
 28 files changed, 242 insertions(+), 143 deletions(-)

New commits:
commit d03206b9f8d5dfcbac8451fe3f70f1b30f0c9af0
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Sep 14 14:38:42 2015 +0200

    Bump standards version to 3.9.6.

diff --git a/debian/changelog b/debian/changelog
index 4979ce0..3df5403 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,7 @@ libxi (2:1.7.5-1) UNRELEASED; urgency=medium
   * Remove obsolete XC- prefix from Package-Type field.
   * Remove unused ${shlibs:Depends} from libxi6-dbg and libxi-dev.
   * Add upstream url.
+  * Bump standards version to 3.9.6.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 10 Sep 2015 13:59:46 +0200
 
diff --git a/debian/control b/debian/control
index acd4e57..53e8ae1 100644
--- a/debian/control
+++ b/debian/control
@@ -25,7 +25,7 @@ Build-Depends:
  xorg-sgml-doctools (>= 1:1.8),
  xsltproc,
  w3m,
-Standards-Version: 3.9.4
+Standards-Version: 3.9.6
 Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/lib/libxi.git
 Vcs-Browser: https://anonscm.debian.org/cgit/pkg-xorg/lib/libxi.git
 Homepage: http://www.x.org/

commit 274eee9e83eca59c397452e1645924a3965a06bd
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Sep 14 14:37:51 2015 +0200

    Add upstream url.

diff --git a/debian/changelog b/debian/changelog
index 7b977c8..4979ce0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,7 @@ libxi (2:1.7.5-1) UNRELEASED; urgency=medium
   * Fix Vcs-* fields.
   * Remove obsolete XC- prefix from Package-Type field.
   * Remove unused ${shlibs:Depends} from libxi6-dbg and libxi-dev.
+  * Add upstream url.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 10 Sep 2015 13:59:46 +0200
 
diff --git a/debian/control b/debian/control
index c9800a2..acd4e57 100644
--- a/debian/control
+++ b/debian/control
@@ -28,6 +28,7 @@ Build-Depends:
 Standards-Version: 3.9.4
 Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/lib/libxi.git
 Vcs-Browser: https://anonscm.debian.org/cgit/pkg-xorg/lib/libxi.git
+Homepage: http://www.x.org/
 
 Package: libxi6
 Section: libs

commit 906ade72408ec36e1635ae1b225ac0a713f0fca3
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Sep 14 14:34:06 2015 +0200

    Remove unused ${shlibs:Depends} from libxi6-dbg and libxi-dev.
    
    Fixes:
    
    dpkg-gencontrol: warning: Depends field of package libxi6-dbg: unknown
    substitution variable ${shlibs:Depends}
    dpkg-gencontrol: warning: Depends field of package libxi-dev: unknown
    substitution variable ${shlibs:Depends}

diff --git a/debian/changelog b/debian/changelog
index 24b5756..7b977c8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,7 @@ libxi (2:1.7.5-1) UNRELEASED; urgency=medium
   * Let uscan verify tarball signatures.
   * Fix Vcs-* fields.
   * Remove obsolete XC- prefix from Package-Type field.
+  * Remove unused ${shlibs:Depends} from libxi6-dbg and libxi-dev.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 10 Sep 2015 13:59:46 +0200
 
diff --git a/debian/control b/debian/control
index 5e92e36..c9800a2 100644
--- a/debian/control
+++ b/debian/control
@@ -61,7 +61,7 @@ Package: libxi6-dbg
 Section: debug
 Architecture: any
 Priority: extra
-Depends: ${shlibs:Depends}, ${misc:Depends}, libxi6 (= ${binary:Version})
+Depends: ${misc:Depends}, libxi6 (= ${binary:Version})
 Multi-Arch: same
 Description: X11 Input extension library (debug package)
  libXi provides an X Window System client interface to the XINPUT
@@ -84,7 +84,6 @@ Package: libxi-dev
 Section: libdevel
 Architecture: any
 Depends:
- ${shlibs:Depends},
  ${misc:Depends},
  libxi6 (= ${binary:Version}),
  libx11-dev,

commit d5af8683b482c61780089518f9c2f64bf15a2f41
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Sep 14 14:13:04 2015 +0200

    Remove obsolete XC- prefix from Package-Type field.

diff --git a/debian/changelog b/debian/changelog
index 5aa9787..24b5756 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ libxi (2:1.7.5-1) UNRELEASED; urgency=medium
   * Fix lintian error: pre-depends-directly-on-multiarch-support libxi6.
   * Let uscan verify tarball signatures.
   * Fix Vcs-* fields.
+  * Remove obsolete XC- prefix from Package-Type field.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 10 Sep 2015 13:59:46 +0200
 
diff --git a/debian/control b/debian/control
index 005a566..5e92e36 100644
--- a/debian/control
+++ b/debian/control
@@ -50,7 +50,7 @@ Description: X11 Input extension library
  git://anongit.freedesktop.org/git/xorg/lib/libXi
 
 Package: libxi6-udeb
-XC-Package-Type: udeb
+Package-Type: udeb
 Section: debian-installer
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}

commit 9bdb202bca70e6d6056ade8bbae708f0898892b7
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Sep 14 14:12:05 2015 +0200

    Fix Vcs-* fields.

diff --git a/debian/changelog b/debian/changelog
index bf20636..5aa9787 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ libxi (2:1.7.5-1) UNRELEASED; urgency=medium
   * Switch to dh with the autoreconf and quilt addons.
   * Fix lintian error: pre-depends-directly-on-multiarch-support libxi6.
   * Let uscan verify tarball signatures.
+  * Fix Vcs-* fields.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 10 Sep 2015 13:59:46 +0200
 
diff --git a/debian/control b/debian/control
index aed6e26..005a566 100644
--- a/debian/control
+++ b/debian/control
@@ -26,8 +26,8 @@ Build-Depends:
  xsltproc,
  w3m,
 Standards-Version: 3.9.4
-Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libxi
-Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libxi.git
+Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/lib/libxi.git
+Vcs-Browser: https://anonscm.debian.org/cgit/pkg-xorg/lib/libxi.git
 
 Package: libxi6
 Section: libs

commit a94028fae1d4ea1938e9539aa787f578ab50a9a7
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Sep 11 11:49:39 2015 +0200

    Let uscan verify tarball signatures.

diff --git a/debian/changelog b/debian/changelog
index 72ed5a4..bf20636 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ libxi (2:1.7.5-1) UNRELEASED; urgency=medium
   * New upstream release.
   * Switch to dh with the autoreconf and quilt addons.
   * Fix lintian error: pre-depends-directly-on-multiarch-support libxi6.
+  * Let uscan verify tarball signatures.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 10 Sep 2015 13:59:46 +0200
 
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..767d86a
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,23 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGiBD8b0wYRBACph9kRJmP+4+JGsCgFlFoy4vFO0DCG+jmkQN0n1wdInt/N/UtA
+sZToO72AUmfmYizA+IEbzBrx0UnUo3w3BDmHxUWf/akZiPUz9AA/YFY4xC3MY2OK
+VN2Jz6YSce4zJ5jd2ZRobHm4HuIf/8yqSCcsv7FNfrLaTNIFRs5gYYsqZwCgwmkp
+RSLRc8WAnHrTWNQDaEFM2rUEAKTjrTjMN8+KGd0BxNX7HiTSqQP++nXNwAYs1oWB
+Yt82YHj9SvRCqCzD1pzJQivYnlNoWDza1VeMnfdAvkdia8z4lYbO/RunXZJvra3Z
+VDm+izq+uwUAyvFuEYnNz09VSqwXKT6+XW0Xtz2vHq52r6DS6mK8cGJHZ5OhrRjq
+UEYxA/9STh+QfA98xtNoRcf52E/46r7IpCj440oRVc9lMfxQZrLGQNqp7sPdIhGQ
+CCo2NUII5hkhdAG71kpbfSXU4Sh32p1cU1KYCAkDFfb49bKuAs+Pff8v6FGZxTdd
+AinPZr4BbsYJatk818aTCnu0+s7L8jL5GPfeyuyEMKwzVBx2mLQpUGV0ZXIgSHV0
+dGVyZXIgKFdoby1UKSA8b2ZmaWNlQHdoby10Lm5ldD6IWQQTEQIAGQUCPxvTBgQL
+BwMCAxUCAwMWAgECHgECF4AACgkQ4jt+cLRn8L/0RACfWo3KTMUg+uPRqA6RXxk0
+4CWjXaMAoJeIxOpZLB3RBltPnSi7PyVQIkHFuQENBD8b0wgQBACTnqOYOWYVR8O1
+D73J6nbdAeZCbXrUkyXIuyqBOdKmX/0QJmSs7Wfsa+hPfDhj6ai0Gs2C8Qg/0Pzk
+86b4p9DLkf0M6RaYjUtCJBpS59xrsV6nz6xZzQa4RRdf1YJmw2tia1MMXzxbwQU2
+bKpYEm8NsGaBURMGd02EvsMN2wI2uwADBQP/e9MjVr/85XDzAlUBN8HwYW5szTyP
+8ZVcQOqOmNebkTWGLvkPrBdXmxpzrWjxPolO1WcWQjUL0bN/rbdqefT65iVHJHJZ
+/cpTtgGlCPhL5JTA50ltd0I13CABYWLFmswonXES/6tcglf4rr3Nri2sOrY5HggP
+ipEzOo5vdKOow/qIRgQYEQIABgUCPxvTCAAKCRDiO35wtGfwv68jAKCDvL2gkrg1
+4NfV7rNc057K1nL2GgCeKApWRgGVzaOkAp0P5tQulaDD6zM=
+=7uBX
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
index 9a3d00e..919d93a 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,4 @@
 #git=git://anongit.freedesktop.org/xorg/lib/libXi
 version=3
+opts=pgpsigurlmangle=s/$/.sig/ \
 http://xorg.freedesktop.org/releases/individual/lib/ libXi-(.*)\.tar\.gz

commit 56048bb6fa4c145a73b356143dda2a588131863b
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Sep 11 11:49:39 2015 +0200

    Fix lintian error: pre-depends-directly-on-multiarch-support libxi6.

diff --git a/debian/changelog b/debian/changelog
index 452d6c2..72ed5a4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ libxi (2:1.7.5-1) UNRELEASED; urgency=medium
 
   * New upstream release.
   * Switch to dh with the autoreconf and quilt addons.
+  * Fix lintian error: pre-depends-directly-on-multiarch-support libxi6.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 10 Sep 2015 13:59:46 +0200
 
diff --git a/debian/control b/debian/control
index 81a79dc..aed6e26 100644
--- a/debian/control
+++ b/debian/control
@@ -33,7 +33,7 @@ Package: libxi6
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Pre-Depends: multiarch-support
+Pre-Depends: ${misc:Pre-Depends}
 Multi-Arch: same
 Description: X11 Input extension library
  libXi provides an X Window System client interface to the XINPUT

commit c5223931e4f5a41096ad753a42f0005813faca27
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Sep 11 11:49:39 2015 +0200

    Switch to dh with the autoreconf and quilt addons.

diff --git a/debian/changelog b/debian/changelog
index 3026ef1..452d6c2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 libxi (2:1.7.5-1) UNRELEASED; urgency=medium
 
   * New upstream release.
+  * Switch to dh with the autoreconf and quilt addons.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 10 Sep 2015 13:59:46 +0200
 
diff --git a/debian/compat b/debian/compat
index 7f8f011..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-7
+9
diff --git a/debian/control b/debian/control
index e947000..81a79dc 100644
--- a/debian/control
+++ b/debian/control
@@ -4,9 +4,9 @@ Priority: optional
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: Drew Parsons <dparsons@debian.org>, Cyril Brulebois <kibi@debian.org>
 Build-Depends:
- debhelper (>= 8.1.3),
-# dpkg-buildflags --export=configure
- dpkg-dev (>= 1.16.1),
+ debhelper (>= 9),
+ dh-autoreconf,
+ quilt,
  x11proto-core-dev (>= 7.0.13),
  x11proto-xext-dev (>= 7.0.3),
  x11proto-input-dev (>= 2.2.99.1),
diff --git a/debian/rules b/debian/rules
index 40fb02a..ab458bf 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,96 +10,25 @@
 # set this to the name of the main shlib's binary package
 PACKAGE = libxi6
 
-include debian/xsfbs/xsfbs.mk
+.PHONY: build
+build:
+	dh build --with quilt,autoreconf --builddirectory=build/ --parallel
 
-ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-	NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-	MAKEFLAGS += -j$(NUMJOBS)
-endif
+%:
+	dh $@ --with quilt,autoreconf --builddirectory=build/ --parallel
 
-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
-DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
-DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
-	confflags += --build=$(DEB_HOST_GNU_TYPE)
-else
-	confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
-endif
-confflags += $(shell DEB_CFLAGS_MAINT_APPEND=-Wall dpkg-buildflags --export=configure)
+override_dh_auto_configure:
+	dh_auto_configure -- \
+		--disable-silent-rules \
+		--with-xmlto \
+		--without-fop
 
-configure: $(STAMP_DIR)/patch
-	autoreconf -vfi
+override_dh_install:
+	dh_install --fail-missing --exclude=libXi.la --exclude .db --exclude .xml
 
-build/config.status: configure
-	mkdir -p build
-	cd build && \
-	../configure --prefix=/usr --mandir=\$${prefix}/share/man \
-	             --infodir=\$${prefix}/share/info \
-	             --disable-silent-rules \
-	             --with-xmlto \
-	             --without-fop \
-	             --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
-	             $(confflags)
-
-build: build-indep build-arch
-build-indep:
-build-arch: build-stamp
-.PHONY: build build-indep build-arch
-
-build-stamp: build/config.status
-	dh_testdir
-	cd build && $(MAKE)
-
-	touch build-stamp
-
-clean: xsfclean
-	dh_testdir
-	rm -f build-stamp
-	rm -f config.cache config.log config.status
-	rm -f */config.cache */config.log */config.status
-	rm -f conftest* */conftest*
-	rm -rf autom4te.cache */autom4te.cache
-	rm -rf build
-	find -name Makefile.in -delete
-	rm -f INSTALL compile config.guess config.sub configure src/config.h.in
-	rm -f depcomp install-sh ltmain.sh missing aclocal.m4 mkinstalldirs
-	dh_clean
-
-install: build
-	dh_testdir
-	dh_testroot
-	dh_prep
-	dh_installdirs
-
-	cd build && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
-
-# Build architecture-dependent files here.
-binary-arch: build install
-	dh_testdir
-	dh_testroot
-
-	dh_installdocs
-	find debian/tmp -name '*.xml' -delete
-	find debian/tmp -name '*.db' -delete
-	dh_install --fail-missing --exclude=libXi.la
-	dh_installman
-	dh_installchangelogs
-	dh_link
+override_dh_strip:
 	dh_strip -p$(PACKAGE) --dbg-package=$(PACKAGE)-dbg
 	dh_strip -N$(PACKAGE)
-	dh_compress
-	dh_fixperms
-	dh_makeshlibs -V'libxi6 (>= 2:1.6.99.1)' --add-udeb=$(PACKAGE)-udeb -- -c4
-	dh_shlibdeps
-	dh_installdeb
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
 
-# Build architecture-independent files here.
-binary-indep: build install
-# Nothing to do
-
-binary: binary-indep binary-arch
-.PHONY: clean binary-indep binary-arch binary install
+override_dh_makeshlibs:
+	dh_makeshlibs -V'libxi6 (>= 2:1.6.99.1)' --add-udeb=$(PACKAGE)-udeb -- -c4

commit f87a26869dbfb6a6a4cb9579e14a32cc13b828a3
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Sep 10 14:00:53 2015 +0200

    Bump changelogs.

diff --git a/ChangeLog b/ChangeLog
index 4874e59..c5d3b95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,122 @@
+commit f180dff710dc54d00e0e26b84de053151f8f207e
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Sep 10 01:16:19 2015 +1000
+
+    libXi 1.7.5
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 05c86e53c0bae30e58b32b94e191c8720990918a
+Author: Cosimo Cecchi <cosimoc@gnome.org>
+Date:   Tue Feb 24 07:49:34 2015 +1000
+
+    Fix version check in _XIAllowEvents
+    
+    Commit 5810d0797160a97012664ffe719a59e1b288a525 changed _XIAllowEvents() to
+    use _XiCheckVersion() instead of _XiCheckExtInit() to avoid a double display
+    unlock, but it failed to correctly check for the version, since we should set
+    have_XI22 to True for every version greater or equal to 2.2.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit c648441036cf5ffc5225cd484e2c906d374f0a4b
+Author: Michal Srb <msrb@suse.com>
+Date:   Mon Nov 3 12:43:40 2014 +0200
+
+    XIGrabDevice: Unlock display in error path.
+    
+    Signed-off-by: Michal Srb <msrb@suse.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 29c77457ad86966ae2204b865fb8b437269063c4
+Author: Michal Srb <msrb@suse.com>
+Date:   Sat Nov 1 20:00:57 2014 +0200
+
+    Refactor XGetExtensionVersion.
+    
+    _XiGetExtensionVersion was called from XGetExtensionVersion and from
+    _XiCheckExtInit. When called from _XiCheckExtInit, nothing accounted for the
+    fact that it can return ((XExtensionVersion *) NoSuchExtension) in case of
+    error. Also it recursively calls _XiCheckExtInit potentionally causing multiple
+    unlocks if _XiCheckExtInit fails.
+    -> Remove it and call directly _XiGetExtensionVersionRequest and only call
+    _XiCheckExtInit only from XGetExtensionVersion.
+    
+    Signed-off-by: Michal Srb <msrb@suse.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 5810d0797160a97012664ffe719a59e1b288a525
+Author: Michal Srb <msrb@suse.com>
+Date:   Sat Nov 1 20:00:56 2014 +0200
+
+    Fix logic in _XIAllowEvents and prevent double unlock.
+    
+    Replacing the second _XiCheckExtInit with _XiCheckVersion prevents possible
+    double unlock as _XiCheckExtInit actually unlocks the display when it returns
+    -1.
+    
+    Signed-off-by: Michal Srb <msrb@suse.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit f699770e7c92da1dbf16892fde83438f0b79c979
+Author: Michal Srb <msrb@suse.com>
+Date:   Sat Nov 1 20:00:54 2014 +0200
+
+    XIGetClientPointer: Return False on error.
+    
+    Not NoSuchExtension which is 1 = True!
+    
+    Signed-off-by: Michal Srb <msrb@suse.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit dc1f8c6ec1ba8135afa185c8e8360c1ed90bf96c
+Author: Michal Srb <msrb@suse.com>
+Date:   Sat Nov 1 20:00:53 2014 +0200
+
+    Do not return NoSuchExtension casted to pointer as an error.
+    
+    Several functions were returning NoSuchExtension casted to a pointer in case of
+    an error. Often in parallel with returning NULL in case of another error. It is
+    undocumented and certainly wrong.
+    
+    Signed-off-by: Michal Srb <msrb@suse.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 83261c52a17543437882e2863b7f06a92c9039f8
+Author: Michal Srb <msrb@suse.com>
+Date:   Sat Nov 1 20:00:52 2014 +0200
+
+    XIChangeHierarchy: Add missing unlock.
+    
+    When num_changes <= 0 or Xmalloc fails, the display has to be unlocked.
+    
+    Signed-off-by: Michal Srb <msrb@suse.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 22ae8d4f26e92b17e1ce8239a38481933d6f1ca7
+Author: Michal Srb <msrb@suse.com>
+Date:   Sat Nov 1 20:00:51 2014 +0200
+
+    Fix double unlock when _XiCheckExtInit return -1.
+    
+    _XiCheckExtInit unlocks the display if it fails and returns -1. Most callers
+    account for it properly, but few didn't.
+    
+    Signed-off-by: Michal Srb <msrb@suse.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 71a42145b678be623e30bd5bf55833a04f14376f
+Author: Julien Cristau <jcristau@debian.org>
+Date:   Mon Oct 27 19:00:36 2014 +0100
+
+    Advance the request buffer by the right amount in XIChangeHierarchy
+    
+    c->length is in 4-byte units, dptr is a char *, so we need to advance
+    dptr by 4 * length to get the position of the next HierarchyChangeInfo.
+    
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
 commit 8c255b30f3a4ed8bf67e6bb76df47cbd480735f8
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Fri Jul 18 16:45:51 2014 +1000
diff --git a/debian/changelog b/debian/changelog
index bc8a5cf..3026ef1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libxi (2:1.7.5-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 10 Sep 2015 13:59:46 +0200
+
 libxi (2:1.7.4-1) unstable; urgency=low
 
   * New upstream release.

commit f180dff710dc54d00e0e26b84de053151f8f207e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Sep 10 01:16:19 2015 +1000

    libXi 1.7.5
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/configure.ac b/configure.ac
index db70cef..9b40c4d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([libXi], [1.7.4],
+AC_INIT([libXi], [1.7.5],
 	[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXi])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([src/config.h])

commit 05c86e53c0bae30e58b32b94e191c8720990918a
Author: Cosimo Cecchi <cosimoc@gnome.org>
Date:   Tue Feb 24 07:49:34 2015 +1000

    Fix version check in _XIAllowEvents
    
    Commit 5810d0797160a97012664ffe719a59e1b288a525 changed _XIAllowEvents() to
    use _XiCheckVersion() instead of _XiCheckExtInit() to avoid a double display
    unlock, but it failed to correctly check for the version, since we should set
    have_XI22 to True for every version greater or equal to 2.2.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/XIAllowEvents.c b/src/XIAllowEvents.c
index 52c17ab..e7be099 100644
--- a/src/XIAllowEvents.c
+++ b/src/XIAllowEvents.c
@@ -50,7 +50,7 @@ _XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time,
     if (_XiCheckExtInit(dpy, XInput_2_0, extinfo) == -1)
 	return (NoSuchExtension);
 
-    if (_XiCheckVersion(extinfo, XInput_2_2) == 0)
+    if (_XiCheckVersion(extinfo, XInput_2_2) >= 0)
         have_XI22 = True;
 
     if (have_XI22)

commit c648441036cf5ffc5225cd484e2c906d374f0a4b
Author: Michal Srb <msrb@suse.com>
Date:   Mon Nov 3 12:43:40 2014 +0200

    XIGrabDevice: Unlock display in error path.
    
    Signed-off-by: Michal Srb <msrb@suse.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/XIGrabDevice.c b/src/XIGrabDevice.c
index a8c5697..22f4ea1 100644
--- a/src/XIGrabDevice.c
+++ b/src/XIGrabDevice.c
@@ -53,14 +53,20 @@ XIGrabDevice(Display* dpy, int deviceid, Window grab_window, Time time,
 
     if (mask->mask_len > INT_MAX - 3 ||
         (mask->mask_len + 3)/4 >= 0xffff)
-        return BadValue;
+    {
+        reply.status = BadValue;
+        goto out;
+    }
 
     /* mask->mask_len is in bytes, but we need 4-byte units on the wire,
      * and they need to be padded with 0 */
     len = (mask->mask_len + 3)/4;
     buff = calloc(4, len);
     if (!buff)
-        return BadAlloc;
+    {
+        reply.status =  BadAlloc;
+        goto out;
+    }
 
     GetReq(XIGrabDevice, req);
     req->reqType  = extinfo->codes->major_opcode;
@@ -83,6 +89,7 @@ XIGrabDevice(Display* dpy, int deviceid, Window grab_window, Time time,
     if (_XReply(dpy, (xReply *)&reply, 0, xTrue) == 0)
 	reply.status = GrabSuccess;
 
+out:
     UnlockDisplay(dpy);
     SyncHandle();
 

commit 29c77457ad86966ae2204b865fb8b437269063c4
Author: Michal Srb <msrb@suse.com>
Date:   Sat Nov 1 20:00:57 2014 +0200

    Refactor XGetExtensionVersion.
    
    _XiGetExtensionVersion was called from XGetExtensionVersion and from
    _XiCheckExtInit. When called from _XiCheckExtInit, nothing accounted for the
    fact that it can return ((XExtensionVersion *) NoSuchExtension) in case of
    error. Also it recursively calls _XiCheckExtInit potentionally causing multiple
    unlocks if _XiCheckExtInit fails.
    -> Remove it and call directly _XiGetExtensionVersionRequest and only call
    _XiCheckExtInit only from XGetExtensionVersion.
    
    Signed-off-by: Michal Srb <msrb@suse.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/XExtInt.c b/src/XExtInt.c
index d3c6b7c..672d69a 100644
--- a/src/XExtInt.c
+++ b/src/XExtInt.c
@@ -380,7 +380,7 @@ _XiCheckExtInit(
 	    return (-1);
 	}
 	((XInputData *) info->data)->vers =
-	    _XiGetExtensionVersion(dpy, "XInputExtension", info);
+	    _XiGetExtensionVersionRequest(dpy, "XInputExtension", info->codes->major_opcode);
     }
 
     if (_XiCheckVersion(info, version_index) < 0) {
diff --git a/src/XGetVers.c b/src/XGetVers.c
index 0751b98..f7e22e6 100644
--- a/src/XGetVers.c
+++ b/src/XGetVers.c
@@ -68,12 +68,16 @@ XGetExtensionVersion(register Display * dpy, _Xconst char *name)
     XExtDisplayInfo *info = XInput_find_display(dpy);
 
     LockDisplay(dpy);
-    ext = _XiGetExtensionVersion(dpy, name, info);
-    if (ext != (XExtensionVersion *) NoSuchExtension) {
-	UnlockDisplay(dpy);
-	SyncHandle();
-    }
-    return (ext);
+
+    if (_XiCheckExtInit(dpy, Dont_Check, info) == -1)
+        return NULL;
+
+    ext = _XiGetExtensionVersionRequest(dpy, name, info->codes->major_opcode);
+
+    UnlockDisplay(dpy);
+    SyncHandle();
+
+    return ext;
 }
 
 _X_HIDDEN XExtensionVersion*
@@ -91,7 +95,7 @@ _XiGetExtensionVersionRequest(Display *dpy, _Xconst char *name, int xi_opcode)
     _XSend(dpy, name, (long)req->nbytes);
 
     if (!_XReply(dpy, (xReply *) & rep, 0, xTrue)) {
-	return (XExtensionVersion *) NULL;
+	return NULL;
     }
 
     ext = (XExtensionVersion *) Xmalloc(sizeof(XExtensionVersion));
@@ -105,13 +109,3 @@ _XiGetExtensionVersionRequest(Display *dpy, _Xconst char *name, int xi_opcode)
 
     return ext;
 }
-
-_X_HIDDEN XExtensionVersion *
-_XiGetExtensionVersion(register Display * dpy, _Xconst char *name,
-                       XExtDisplayInfo *info)
-{
-    if (_XiCheckExtInit(dpy, Dont_Check, info) == -1)
-	return ((XExtensionVersion *) NoSuchExtension);
-
-    return _XiGetExtensionVersionRequest(dpy, name, info->codes->major_opcode);
-}
diff --git a/src/XIint.h b/src/XIint.h
index 99f3652..9479a79 100644
--- a/src/XIint.h
+++ b/src/XIint.h
@@ -29,7 +29,6 @@ extern XExtDisplayInfo *XInput_find_display(Display *);
 extern int _XiCheckExtInit(Display *, int, XExtDisplayInfo *);
 extern int _XiCheckVersion(XExtDisplayInfo *info, int version_index);
 
-extern XExtensionVersion *_XiGetExtensionVersion(Display *, _Xconst char *, XExtDisplayInfo *);
 extern XExtensionVersion* _XiGetExtensionVersionRequest(Display *dpy, _Xconst char *name, int xi_opcode);
 extern Status _xiQueryVersion(Display *dpy, int*, int*, XExtDisplayInfo *);
 

commit 5810d0797160a97012664ffe719a59e1b288a525
Author: Michal Srb <msrb@suse.com>
Date:   Sat Nov 1 20:00:56 2014 +0200

    Fix logic in _XIAllowEvents and prevent double unlock.
    
    Replacing the second _XiCheckExtInit with _XiCheckVersion prevents possible
    double unlock as _XiCheckExtInit actually unlocks the display when it returns
    -1.
    
    Signed-off-by: Michal Srb <msrb@suse.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/XIAllowEvents.c b/src/XIAllowEvents.c
index 2468fce..52c17ab 100644
--- a/src/XIAllowEvents.c
+++ b/src/XIAllowEvents.c
@@ -40,7 +40,7 @@ static Status
 _XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time,
                     unsigned int touchid, Window grab_window)
 {
-    Bool have_XI22 = True;
+    Bool have_XI22 = False;
     xXIAllowEventsReq *req;
     xXI2_2AllowEventsReq *req_XI22;
 
@@ -50,7 +50,7 @@ _XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time,
     if (_XiCheckExtInit(dpy, XInput_2_0, extinfo) == -1)
 	return (NoSuchExtension);
 
-    if (_XiCheckExtInit(dpy, XInput_2_2, extinfo) == 0)
+    if (_XiCheckVersion(extinfo, XInput_2_2) == 0)
         have_XI22 = True;
 
     if (have_XI22)

commit f699770e7c92da1dbf16892fde83438f0b79c979
Author: Michal Srb <msrb@suse.com>
Date:   Sat Nov 1 20:00:54 2014 +0200

    XIGetClientPointer: Return False on error.
    
    Not NoSuchExtension which is 1 = True!
    
    Signed-off-by: Michal Srb <msrb@suse.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/XGetCPtr.c b/src/XGetCPtr.c
index a6a44b7..59a27d3 100644
--- a/src/XGetCPtr.c
+++ b/src/XGetCPtr.c
@@ -49,7 +49,7 @@ XIGetClientPointer(Display* dpy, Window win, int *deviceid)
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, Dont_Check, info) == -1)
-	return (NoSuchExtension);
+        return False;
 
     GetReq(XIGetClientPointer, req);
     req->reqType = info->codes->major_opcode;

commit dc1f8c6ec1ba8135afa185c8e8360c1ed90bf96c
Author: Michal Srb <msrb@suse.com>
Date:   Sat Nov 1 20:00:53 2014 +0200

    Do not return NoSuchExtension casted to pointer as an error.
    
    Several functions were returning NoSuchExtension casted to a pointer in case of
    an error. Often in parallel with returning NULL in case of another error. It is
    undocumented and certainly wrong.
    
    Signed-off-by: Michal Srb <msrb@suse.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/XGMotion.c b/src/XGMotion.c
index a4c75b6..7785843 100644
--- a/src/XGMotion.c
+++ b/src/XGMotion.c
@@ -81,7 +81,7 @@ XGetDeviceMotionEvents(
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1)
-	return ((XDeviceTimeCoord *) NoSuchExtension);
+        return NULL;
 
     GetReq(GetDeviceMotionEvents, req);
     req->reqType = info->codes->major_opcode;
diff --git a/src/XGetDCtl.c b/src/XGetDCtl.c
index b576aa5..c5d3b53 100644
--- a/src/XGetDCtl.c
+++ b/src/XGetDCtl.c
@@ -79,7 +79,7 @@ XGetDeviceControl(
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, XInput_Add_XChangeDeviceControl, info) == -1)
-	return ((XDeviceControl *) NoSuchExtension);
+        return NULL;
 
     GetReq(GetDeviceControl, req);
     req->reqType = info->codes->major_opcode;
diff --git a/src/XGetFCtl.c b/src/XGetFCtl.c
index 2d71fab..7fd6d0e 100644
--- a/src/XGetFCtl.c
+++ b/src/XGetFCtl.c
@@ -79,7 +79,7 @@ XGetFeedbackControl(
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1)
-	return ((XFeedbackState *) NoSuchExtension);
+        return NULL;
 
     GetReq(GetFeedbackControl, req);
     req->reqType = info->codes->major_opcode;
diff --git a/src/XGetKMap.c b/src/XGetKMap.c
index 00dde06..0540ce4 100644
--- a/src/XGetKMap.c
+++ b/src/XGetKMap.c
@@ -78,7 +78,7 @@ XGetDeviceKeyMapping(register Display * dpy, XDevice * dev,
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1)
-	return ((KeySym *) NoSuchExtension);
+        return NULL;
 
     GetReq(GetDeviceKeyMapping, req);
     req->reqType = info->codes->major_opcode;
diff --git a/src/XGetMMap.c b/src/XGetMMap.c
index ce10c2d..246698c 100644
--- a/src/XGetMMap.c
+++ b/src/XGetMMap.c
@@ -73,7 +73,7 @@ XGetDeviceModifierMapping(
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1)
-	return ((XModifierKeymap *) NoSuchExtension);
+        return NULL;
 
     GetReq(GetDeviceModifierMapping, req);
     req->reqType = info->codes->major_opcode;
diff --git a/src/XGetProp.c b/src/XGetProp.c
index 8c69ef2..a3fa558 100644
--- a/src/XGetProp.c
+++ b/src/XGetProp.c
@@ -75,7 +75,7 @@ XGetDeviceDontPropagateList(
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1)
-	return ((XEventClass *) NoSuchExtension);
+        return NULL;
 
     GetReq(GetDeviceDontPropagateList, req);
     req->reqType = info->codes->major_opcode;
diff --git a/src/XOpenDev.c b/src/XOpenDev.c
index e784f8b..029dec2 100644
--- a/src/XOpenDev.c
+++ b/src/XOpenDev.c
@@ -73,7 +73,7 @@ XOpenDevice(
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1)
-	return ((XDevice *) NoSuchExtension);
+        return NULL;
 
     GetReq(OpenDevice, req);
     req->reqType = info->codes->major_opcode;
diff --git a/src/XQueryDv.c b/src/XQueryDv.c
index 3836777..de1c0e5 100644
--- a/src/XQueryDv.c
+++ b/src/XQueryDv.c
@@ -78,7 +78,7 @@ XQueryDeviceState(
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, XInput_Initial_Release, info) == -1)
-	return ((XDeviceState *) NoSuchExtension);
+        return NULL;
 
     GetReq(QueryDeviceState, req);
     req->reqType = info->codes->major_opcode;

commit 83261c52a17543437882e2863b7f06a92c9039f8
Author: Michal Srb <msrb@suse.com>
Date:   Sat Nov 1 20:00:52 2014 +0200

    XIChangeHierarchy: Add missing unlock.
    
    When num_changes <= 0 or Xmalloc fails, the display has to be unlocked.
    
    Signed-off-by: Michal Srb <msrb@suse.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/XIHierarchy.c b/src/XIHierarchy.c
index 3d2b4f2..441fec0 100644
--- a/src/XIHierarchy.c
+++ b/src/XIHierarchy.c
@@ -49,14 +49,14 @@ XIChangeHierarchy(Display* dpy,
     xXIChangeHierarchyReq *req;
     XExtDisplayInfo *info = XInput_find_display(dpy);
     char *data = NULL, *dptr;
-    int dlen = 0, i;
+    int dlen = 0, i, ret = Success;
 
     LockDisplay(dpy);
     if (_XiCheckExtInit(dpy, XInput_2_0, info) == -1)
 	return (NoSuchExtension);
 
     if (num_changes <= 0)
-        return Success;
+        goto out;
 
     GetReq(XIChangeHierarchy, req);


Reply to: