Hello community,
here is the log from the commit of package xf86-input-libinput for openSUSE:Factory checked in at 2018-07-18 22:34:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-input-libinput (Old)
and /work/SRC/openSUSE:Factory/.xf86-input-libinput.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-input-libinput"
Wed Jul 18 22:34:46 2018 rev:29 rq:622064 version:0.28.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-input-libinput/xf86-input-libinput.changes 2018-04-17 11:09:06.790052724 +0200
+++ /work/SRC/openSUSE:Factory/.xf86-input-libinput.new/xf86-input-libinput.changes 2018-07-18 22:34:49.598761955 +0200
@@ -1,0 +2,13 @@
+Wed Jul 11 10:38:50 UTC 2018 - sndirsch@suse.com
+
+- Update to version 0.28.0
+ * This version adds a feature to expose the touch count for touch
+ devices through the X device. It makes it possible for clients
+ to adjust their UI based on the number of supported touches by
+ this device.
+ * Also, the draglock code had a bug and would call memset with
+ an invalid size, causing memory corruption. You're advised to
+ update, especially if you expect someone to use the draglock
+ options.
+
+-------------------------------------------------------------------
Old:
----
xf86-input-libinput-0.27.1.tar.bz2
xf86-input-libinput-0.27.1.tar.bz2.sig
New:
----
xf86-input-libinput-0.28.0.tar.bz2
xf86-input-libinput-0.28.0.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-input-libinput.spec ++++++
--- /var/tmp/diff_new_pack.PNkzSA/_old 2018-07-18 22:34:50.486759014 +0200
+++ /var/tmp/diff_new_pack.PNkzSA/_new 2018-07-18 22:34:50.490759000 +0200
@@ -17,7 +17,7 @@
Name: xf86-input-libinput
-Version: 0.27.1
+Version: 0.28.0
Release: 0
Summary: Libinput driver for the Xorg X server
License: MIT
++++++ xf86-input-libinput-0.27.1.tar.bz2 -> xf86-input-libinput-0.28.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/ChangeLog new/xf86-input-libinput-0.28.0/ChangeLog
--- old/xf86-input-libinput-0.27.1/ChangeLog 2018-04-10 01:27:46.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/ChangeLog 2018-07-11 03:12:52.000000000 +0200
@@ -1,3 +1,97 @@
+commit c67f191d5bc1a4a130f89743a3ce35ee06c90f85
+Author: Peter Hutterer
+Date: Wed Jul 11 11:06:59 2018 +1000
+
+ xf86-input-libinput 0.28.0
+
+ Signed-off-by: Peter Hutterer
+
+commit 1978a2555b338e5177523046e6338f58a4253951
+Author: Peter Hutterer
+Date: Wed Jul 11 10:59:20 2018 +1000
+
+ Minor whitespace fix
+
+ Signed-off-by: Peter Hutterer
+
+commit 0909a1a76546284f27fb1b17a6f545a04537cc36
+Author: Peter Hutterer
+Date: Tue Jul 10 11:17:50 2018 +1000
+
+ draglock: fix memory overwrite during draglock parsing
+
+ Passing in the size of the array but using it as "number of elements" inside
+ the function. Rename a bunch of arguments to avoid this.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=107166
+
+ Signed-off-by: Peter Hutterer
+
+commit 20bb8d6b9f4375557472dad67b5f8dcf31be27d3
+Author: Peter Hutterer
+Date: Wed May 23 08:14:23 2018 +1000
+
+ Revert "Implement the custom acceleration curve options"
+
+ Custom pointer acceleration curves were reverted in libinput, so no point
+ having this code here.
+
+ This reverts commit d84e0035d12a9655c09a6e8c619b1144be42c90c.
+
+ Signed-off-by: Peter Hutterer
+
+commit 1e88664d958a000ac610ae9000459c461ba45bd8
+Author: Peter Hutterer
+Date: Wed May 2 13:59:00 2018 +1000
+
+ Use the libinput touch count to init the right number of touches
+
+ Initial version by Johannes Pointner
+ Signed-off-by: Peter Hutterer
+
+commit d84e0035d12a9655c09a6e8c619b1144be42c90c
+Author: Peter Hutterer
+Date: Tue Apr 17 13:51:53 2018 +1000
+
+ Implement the custom acceleration curve options
+
+ One new property, and the existing accel profile gets extended to keep one
+ extra value. The new property libinput Accel Curve Points is a list of pairs
+ of points to be added to the acceleration curve.
+
+ libinput only supports adding points to the curve so we simply declare the
+ behavior as undefined when the curve is set multiple times. Also helps to
+ identify those that bother to read the man page before playing with random
+ driver values.
+
+ Signed-off-by: Peter Hutterer
+
+commit 6c75acfcdf6539713c3b62bc2227a4b215d05fdb
+Author: Peter Hutterer
+Date: Fri Apr 20 13:33:45 2018 +1000
+
+ Use xf86SetStrOption to check for string options
+
+ This one shows up in the log and marks it as used.
+
+ Signed-off-by: Peter Hutterer
+
+commit eaf847be16de1399aa271b94e4421a3794447462
+Author: Peter Hutterer
+Date: Tue Apr 17 15:10:42 2018 +1000
+
+ man: whitespace fixes in man page
+
+ Signed-off-by: Peter Hutterer
+
+commit d319092d557ec0280602879b19ef1b0a825e1e75
+Author: Peter Hutterer
+Date: Tue Apr 17 13:52:11 2018 +1000
+
+ man: fix formatting issue caused by invalid tag
+
+ Signed-off-by: Peter Hutterer
+
commit 18cc042e6822f5f24d06291ead07ea70723f9434
Author: Peter Hutterer
Date: Tue Apr 10 09:19:52 2018 +1000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/compile new/xf86-input-libinput-0.28.0/compile
--- old/xf86-input-libinput-0.27.1/compile 2018-04-10 01:27:42.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/compile 2018-07-11 03:12:48.000000000 +0200
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2016-01-11.22; # UTC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/config.guess new/xf86-input-libinput-0.28.0/config.guess
--- old/xf86-input-libinput-0.27.1/config.guess 2018-04-10 01:27:42.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/config.guess 2018-07-11 03:12:48.000000000 +0200
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
# Attempt to guess a canonical system name.
# Copyright 1992-2017 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/config.h.in new/xf86-input-libinput-0.28.0/config.h.in
--- old/xf86-input-libinput-0.27.1/config.h.in 2018-04-10 01:27:42.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/config.h.in 2018-07-11 03:12:48.000000000 +0200
@@ -6,6 +6,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
+/* libinput_device_touch_get_touch_count() is available */
+#undef HAVE_LIBINPUT_TOUCH_COUNT
+
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/config.sub new/xf86-input-libinput-0.28.0/config.sub
--- old/xf86-input-libinput-0.27.1/config.sub 2018-04-10 01:27:42.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/config.sub 2018-07-11 03:12:48.000000000 +0200
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/configure new/xf86-input-libinput-0.28.0/configure
--- old/xf86-input-libinput-0.27.1/configure 2018-04-10 01:27:42.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/configure 2018-07-11 03:12:48.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xf86-input-libinput 0.27.1.
+# Generated by GNU Autoconf 2.69 for xf86-input-libinput 0.28.0.
#
# Report bugs to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='xf86-input-libinput'
PACKAGE_TARNAME='xf86-input-libinput'
-PACKAGE_VERSION='0.27.1'
-PACKAGE_STRING='xf86-input-libinput 0.27.1'
+PACKAGE_VERSION='0.28.0'
+PACKAGE_STRING='xf86-input-libinput 0.28.0'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_URL=''
@@ -1356,7 +1356,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xf86-input-libinput 0.27.1 to adapt to many kinds of systems.
+\`configure' configures xf86-input-libinput 0.28.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1427,7 +1427,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-input-libinput 0.27.1:";;
+ short | recursive ) echo "Configuration of xf86-input-libinput 0.28.0:";;
esac
cat <<\_ACEOF
@@ -1561,7 +1561,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-input-libinput configure 0.27.1
+xf86-input-libinput configure 0.28.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1885,7 +1885,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-input-libinput $as_me 0.27.1, which was
+It was created by xf86-input-libinput $as_me 0.28.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2753,7 +2753,7 @@
# Define the identity of the package.
PACKAGE='xf86-input-libinput'
- VERSION='0.27.1'
+ VERSION='0.28.0'
cat >>confdefs.h <<_ACEOF
@@ -18460,6 +18460,40 @@
fi
+OLD_LIBS=$LIBS
+OLD_CFLAGS=$CFLAGS
+LIBS="$LIBS $LIBINPUT_LIBS"
+CFLAGS="$CFLAGS $LIBINPUT_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libinput_device_touch_get_touch_count is available" >&5
+$as_echo_n "checking if libinput_device_touch_get_touch_count is available... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+int
+main ()
+{
+libinput_device_touch_get_touch_count(NULL)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_LIBINPUT_TOUCH_COUNT 1" >>confdefs.h
+
+ libinput_have_touch_count=yes
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ libinput_have_touch_count=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$OLD_LIBS
+CFLAGS=$OLD_CFLAGS
+
# Define a configure option for an alternate input module directory
# Check whether --with-xorg-module-dir was given.
@@ -19030,7 +19064,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-input-libinput $as_me 0.27.1, which was
+This file was extended by xf86-input-libinput $as_me 0.28.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19096,7 +19130,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xf86-input-libinput config.status 0.27.1
+xf86-input-libinput config.status 0.28.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/configure.ac new/xf86-input-libinput-0.28.0/configure.ac
--- old/xf86-input-libinput-0.27.1/configure.ac 2018-04-10 01:27:36.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/configure.ac 2018-07-11 03:12:42.000000000 +0200
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-input-libinput],
- [0.27.1],
+ [0.28.0],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-input-libinput])
AC_CONFIG_SRCDIR([Makefile.am])
@@ -47,6 +47,23 @@
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.10] xproto [inputproto >= 2.2])
PKG_CHECK_MODULES(LIBINPUT, [libinput >= 1.4.901])
+OLD_LIBS=$LIBS
+OLD_CFLAGS=$CFLAGS
+LIBS="$LIBS $LIBINPUT_LIBS"
+CFLAGS="$CFLAGS $LIBINPUT_CFLAGS"
+AC_MSG_CHECKING([if libinput_device_touch_get_touch_count is available])
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[#include ]],
+ [[libinput_device_touch_get_touch_count(NULL)]])],
+ [AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_LIBINPUT_TOUCH_COUNT, [1],
+ [libinput_device_touch_get_touch_count() is available])
+ [libinput_have_touch_count=yes]],
+ [AC_MSG_RESULT([no])
+ [libinput_have_touch_count=no]])
+LIBS=$OLD_LIBS
+CFLAGS=$OLD_CFLAGS
+
# Define a configure option for an alternate input module directory
AC_ARG_WITH(xorg-module-dir,
AC_HELP_STRING([--with-xorg-module-dir=DIR],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/depcomp new/xf86-input-libinput-0.28.0/depcomp
--- old/xf86-input-libinput-0.27.1/depcomp 2018-04-10 01:27:42.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/depcomp 2018-07-11 03:12:49.000000000 +0200
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2016-01-11.22; # UTC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/ltmain.sh new/xf86-input-libinput-0.28.0/ltmain.sh
--- old/xf86-input-libinput-0.27.1/ltmain.sh 2018-04-10 01:27:39.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/ltmain.sh 2018-07-11 03:12:46.000000000 +0200
@@ -7272,10 +7272,12 @@
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/man/libinput.man new/xf86-input-libinput-0.28.0/man/libinput.man
--- old/xf86-input-libinput-0.27.1/man/libinput.man 2018-04-10 01:27:36.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/man/libinput.man 2018-07-11 03:12:42.000000000 +0200
@@ -15,11 +15,11 @@
.SH NOTE
This is the man page for the X input driver. If you are looking for the
-library documentation, go to
+library documentation, go to
.BI http://wayland.freedesktop.org/libinput/doc/
.SH DESCRIPTION
-.B libinput
+.B libinput
is an __xservername__ input driver based on libinput. It
therefore supports all input devices that libinput can handle, including
most mice, keyboards, tablets and touchscreens.
@@ -37,7 +37,7 @@
details and for options that can be used with all input drivers. This
section only covers configuration details specific to this driver.
.PP
-The following driver
+The following driver
.B Options
are supported:
.TP 7
@@ -277,7 +277,7 @@
.BI "libinput Tablet Tool Pressurecurve"
4 32-bit float values [0.0 to 1.0]. See section
.B TABLET TOOL PRESSURE CURVE
-.TP7
+.TP 7
.BI "libinput Tablet Tool Area Ratio"
2 32-bit values, corresponding to width and height. Special value 0, 0
resets to the default ratio. See section
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/missing new/xf86-input-libinput-0.28.0/missing
--- old/xf86-input-libinput-0.27.1/missing 2018-04-10 01:27:42.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/missing 2018-07-11 03:12:48.000000000 +0200
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2016-01-11.22; # UTC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/src/draglock.c new/xf86-input-libinput-0.28.0/src/draglock.c
--- old/xf86-input-libinput-0.27.1/src/draglock.c 2018-04-10 01:27:36.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/src/draglock.c 2018-07-11 03:12:42.000000000 +0200
@@ -116,7 +116,7 @@
}
size_t
-draglock_get_pairs(const struct draglock *dl, int *array, size_t sz)
+draglock_get_pairs(const struct draglock *dl, int *array, size_t nelem)
{
unsigned int i;
size_t last = 0;
@@ -131,8 +131,8 @@
}
/* size N array with a[0] == 0, the rest ordered by button number */
- memset(array, 0, sz * sizeof(array[0]));
- for (i = 0; i < sz && i < ARRAY_SIZE(dl->lock_pair); i++) {
+ memset(array, 0, nelem * sizeof(array[0]));
+ for (i = 0; i < nelem && i < ARRAY_SIZE(dl->lock_pair); i++) {
array[i] = dl->lock_pair[i];
if (array[i] != 0 && i > last)
last = i;
@@ -153,20 +153,20 @@
}
int
-draglock_set_pairs(struct draglock *dl, const int *array, size_t sz)
+draglock_set_pairs(struct draglock *dl, const int *array, size_t nelem)
{
unsigned int i;
- if (sz == 0 || array[0] != 0)
+ if (nelem == 0 || array[0] != 0)
return 1;
- for (i = 0; i < sz; i++) {
+ for (i = 0; i < nelem; i++) {
if (array[i] < 0 || array[i] >= DRAGLOCK_MAX_BUTTONS)
return 1;
}
dl->mode = DRAGLOCK_DISABLED;
- for (i = 0; i < sz; i++) {
+ for (i = 0; i < nelem; i++) {
dl->lock_pair[i] = array[i];
if (dl->lock_pair[i])
dl->mode = DRAGLOCK_PAIRS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/src/draglock.h new/xf86-input-libinput-0.28.0/src/draglock.h
--- old/xf86-input-libinput-0.27.1/src/draglock.h 2018-04-10 01:27:36.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/src/draglock.h 2018-07-11 03:12:42.000000000 +0200
@@ -107,13 +107,13 @@
* @note Button numbers start at 1, array[0] is always 0.
*
* @param[in|out] array Caller-allocated array to hold the button mappings.
- * @param[in] sz Maximum number of elements in array
+ * @param[in] nelem Maximum number of elements in array
*
* @return The number of valid elements in array or 0 if the current mode is
* not DRAGLOCK_PAIRS
*/
size_t
-draglock_get_pairs(const struct draglock *dl, int *array, size_t sz);
+draglock_get_pairs(const struct draglock *dl, int *array, size_t nelem);
/**
* Set the drag lock config to the DRAGLOCK_META mode, with the given
@@ -140,7 +140,7 @@
* @return 0 on successor nonzero otherwise
*/
int
-draglock_set_pairs(struct draglock *dl, const int *array, size_t sz);
+draglock_set_pairs(struct draglock *dl, const int *array, size_t nelem);
/**
* Process the given button event through the drag lock state machine.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/src/xf86libinput.c new/xf86-input-libinput-0.28.0/src/xf86libinput.c
--- old/xf86-input-libinput-0.27.1/src/xf86libinput.c 2018-04-10 01:27:36.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/src/xf86libinput.c 2018-07-11 03:12:42.000000000 +0200
@@ -1058,11 +1058,13 @@
{
DeviceIntPtr dev = pInfo->dev;
struct xf86libinput *driver_data = pInfo->private;
+ struct libinput_device *device = driver_data->shared_device->device;
int min, max, res;
unsigned char btnmap[MAX_BUTTONS + 1];
Atom btnlabels[MAX_BUTTONS];
Atom axislabels[TOUCHPAD_NUM_AXES];
int nbuttons = 7;
+ int ntouches = TOUCH_MAX_SLOTS;
init_button_map(btnmap, ARRAY_SIZE(btnmap));
init_button_labels(btnlabels, ARRAY_SIZE(btnlabels));
@@ -1086,7 +1088,13 @@
xf86InitValuatorAxisStruct(dev, 1,
XIGetKnownProperty(AXIS_LABEL_PROP_ABS_MT_POSITION_Y),
min, max, res * 1000, 0, res * 1000, Absolute);
- InitTouchClassDeviceStruct(dev, TOUCH_MAX_SLOTS, XIDirectTouch, 2);
+
+#if HAVE_LIBINPUT_TOUCH_COUNT
+ ntouches = libinput_device_touch_get_touch_count(device);
+ if (ntouches == 0) /* unknown - mtdev */
+ ntouches = TOUCH_MAX_SLOTS;
+#endif
+ InitTouchClassDeviceStruct(dev, ntouches, XIDirectTouch, 2);
}
@@ -2684,9 +2692,9 @@
libinput_device_config_calibration_get_matrix(device, matrix);
memcpy(matrix_out, matrix, sizeof(matrix));
- str = xf86CheckStrOption(pInfo->options,
- "CalibrationMatrix",
- NULL);
+ str = xf86SetStrOption(pInfo->options,
+ "CalibrationMatrix",
+ NULL);
if (!str)
return;
@@ -2914,7 +2922,7 @@
{
char *str;
- str = xf86CheckStrOption(pInfo->options, "DragLockButtons",NULL);
+ str = xf86SetStrOption(pInfo->options, "DragLockButtons", NULL);
if (draglock_init_from_string(&driver_data->draglock, str) != 0)
xf86IDrvMsg(pInfo, X_ERROR,
"Invalid DragLockButtons option: \"%s\"\n",
@@ -5318,7 +5326,7 @@
break;
case DRAGLOCK_PAIRS:
sz = draglock_get_pairs(&driver_data->draglock,
- dl_values, sizeof(dl_values));
+ dl_values, ARRAY_SIZE(dl_values));
break;
default:
xf86IDrvMsg(dev->public.devicePrivate,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.27.1/test-driver new/xf86-input-libinput-0.28.0/test-driver
--- old/xf86-input-libinput-0.27.1/test-driver 2018-04-10 01:27:42.000000000 +0200
+++ new/xf86-input-libinput-0.28.0/test-driver 2018-07-11 03:12:49.000000000 +0200
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
# test-driver - basic testsuite driver script.
scriptversion=2016-01-11.22; # UTC