Hello community,

here is the log from the commit of package xf86-input-synaptics for 
openSUSE:Factory checked in at 2014-09-23 13:45:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-input-synaptics (Old)
 and      /work/SRC/openSUSE:Factory/.xf86-input-synaptics.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xf86-input-synaptics"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/xf86-input-synaptics/xf86-input-synaptics.changes    
    2014-05-16 07:29:55.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.xf86-input-synaptics.new/xf86-input-synaptics.changes
   2014-09-23 13:45:41.000000000 +0200
@@ -1,0 +2,11 @@
+Sun Sep 21 17:23:27 UTC 2014 - tobias.johannes.klausm...@mni.thm.de
+
+- Update to version 1.8.1:
+  A couple of coverity-induced fixes, the
+  top software buttons are now 15% and better detection of two-finger
+  taps. A couple of misc other fixes, the only oddity in there is a
+  fix for clock drift - if you had clickpad clicks delayed by a
+  second or so after a number of suspend/resume cycles then you may
+  want to upgrade to this version.
+
+-------------------------------------------------------------------

Old:
----
  xf86-input-synaptics-1.8.0.tar.bz2

New:
----
  xf86-input-synaptics-1.8.1.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xf86-input-synaptics.spec ++++++
--- /var/tmp/diff_new_pack.QZ63Yu/_old  2014-09-23 13:45:42.000000000 +0200
+++ /var/tmp/diff_new_pack.QZ63Yu/_new  2014-09-23 13:45:42.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           xf86-input-synaptics
-Version:        1.8.0
+Version:        1.8.1
 Release:        0
 Summary:        Synaptics touchpad input driver for the Xorg X server
 License:        MIT
@@ -109,7 +109,6 @@
 
 %files devel
 %defattr(-,root,root)
-#%{_includedir}/xorg/synaptics.h
 %{_includedir}/xorg/synaptics-properties.h
 %{_libdir}/pkgconfig/xorg-synaptics.pc
 

++++++ xf86-input-synaptics-1.8.0.tar.bz2 -> xf86-input-synaptics-1.8.1.tar.bz2 
++++++
++++ 22528 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-input-synaptics-1.8.0/ChangeLog 
new/xf86-input-synaptics-1.8.1/ChangeLog
--- old/xf86-input-synaptics-1.8.0/ChangeLog    2014-05-13 03:26:42.000000000 
+0200
+++ new/xf86-input-synaptics-1.8.1/ChangeLog    2014-09-17 23:43:00.000000000 
+0200
@@ -1,3 +1,141 @@
+commit d50c4bab8ae2836a0f38b29a5d22be2e950e4d08
+Author: Peter Hutterer <peter.hutte...@who-t.net>
+Date:   Thu Sep 18 07:40:13 2014 +1000
+
+    synaptics 1.8.1
+    
+    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
+
+commit bdf6a6b2e2603142e62ae5968c65e6e26f57e51d
+Author: Peter Hutterer <peter.hutte...@who-t.net>
+Date:   Tue Sep 16 10:44:40 2014 +1000
+
+    Prohibit negative or zero x/y resolutions
+    
+    Default resolution is 1, don't allow setting 0 to avoid divisions by 0 or
+    just general weirdness.
+    
+    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
+    (cherry picked from commit 049611bd7f04e285909c55807478306cce83385f)
+
+commit 2dd60417450af4ac4f9938e09b06707dd91bddfb
+Author: Peter Hutterer <peter.hutte...@who-t.net>
+Date:   Fri Sep 5 15:14:47 2014 +1000
+
+    When resetting, reset the open slots to -1
+    
+    open_slots holds the slot index, resetting it to 0 is a bad idea. And make
+    sure that we do reset after DEVICE_INIT. We already do so on DEVICE_CLOSE, 
but
+    after the first DEVICE_ON the data could still be random.
+    
+    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
+    Reviewed-by: Keith Packard <kei...@keithp.com>
+    (cherry picked from commit afbbcfa10eb3a2295823720907f35bb59972dd82)
+
+commit 9de611219bebd9b101b98bb79cc0173115ee1833
+Author: Peter Hutterer <peter.hutte...@who-t.net>
+Date:   Fri Sep 5 14:24:29 2014 +1000
+
+    eventcomm: add missing axis labels to avoid array overrun
+    
+    And warn when we run out of labels.
+    
+    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
+    Reviewed-by: Keith Packard <kei...@keithp.com>
+    (cherry picked from commit d239f831f17ccf5468f5dc6b2f199a9c1f6e35af)
+
+commit 36d7ee1c9d60752666a94ee4755b3a1d0f339164
+Author: Peter Hutterer <peter.hutte...@who-t.net>
+Date:   Thu Aug 28 14:13:38 2014 +1000
+
+    eventcomm: ensure we're on the same clock as the server
+    
+    Default on evdev devices is CLOCK_REALTIME. If that clock falls behind the
+    server's CLOCK_MONOTONIC, motion after a clickpad click may be delayed by 
the
+    difference in the clocks.
+    
+    In detail:
+    When the timer func is triggered, GetTimeInMillis() which is 
CLOCK_MONOTONIC,
+    is stored as hwState->millis. The eventcomm backend uses struct
+    input_event time (CLOCK_REALTIME).
+    
+    When we read events from the device, if the evdev time is less than the 
server
+    time, the fix for (#48777) sets the current event time to hwState->millis.
+    Until the evdev time overtakes that stored time, all events have the
+    hwState->millis time.
+    
+    If during that time a clickpad triggers a physical click,
+    clickpad_click_millis is set to hwState->millis + the ignore-motion 
timeout.
+    Thus, all motion is ignored until the event time overtakes that stored
+    time.
+    
+    The whole issue is further enhanced by us unconditionally setting the timer
+    func if we get any events, which is a separate issue anyway.
+    
+    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
+    Reviewed-by: Hans de Goede <hdego...@redhat.com>
+    (cherry picked from commit 90d19302306f49722e210227b2fb5161e6f51880)
+
+commit 475e0d3668097f4deb9448c8765dd12b3f15534f
+Author: Peter Hutterer <peter.hutte...@who-t.net>
+Date:   Fri Aug 29 07:57:41 2014 +1000
+
+    Include xorg-server.h to fix build errors on newest glibc
+    
+    In file included from /usr/include/string.h:634:0,
+                     from /usr/include/xorg/os.h:53,
+                     from /usr/include/xorg/misc.h:115,
+                     from /usr/include/xorg/xf86str.h:37,
+                     from /usr/include/xorg/xf86Xinput.h:54,
+                     from synproto.h:36,
+                     from synproto.c:24:
+    /usr/include/xorg/os.h:579:1: error: expected identifier or '(' before 
'__extension__'
+     strndup(const char *str, size_t n);
+    
+    See http://lists.freedesktop.org/archives/xorg-devel/2014-July/043070.html
+    
+    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
+    (cherry picked from commit 96e60a4ea242d2decf109835981ae186cc36f642)
+
+commit ae77fdfc8e57e612e8aa0e9b45bbea478a82c30b
+Author: Gabriele Mazzotta <gabriele....@gmail.com>
+Date:   Sun Jul 27 12:58:18 2014 +0200
+
+    Prevent two-finger taps from being ignored
+    
+    When two fingers are used, the coordinates of only one of them is taken 
into
+    account. This can lead to sudden variations of the absolute coordinates 
when
+    two-fingers taps are performed if the finger considered changes.
+    
+    Take into account coordinates variations to prevent unwanted taps only if
+    the number of fingers doesn't change.
+    
+    Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
+    (cherry picked from commit 7d0ff39519e4d3760722b914883bee276035061c)
+
+commit cbf0ca508a14201d2c25f96dd6f38cea2cb1954b
+Author: Peter Hutterer <peter.hutte...@who-t.net>
+Date:   Wed Aug 6 12:04:14 2014 +1000
+
+    conf: increase top software button area to 15%
+    
+    We had reports that the top software button area is hard to hit for those
+    using the trackpoint and clicking the buttons with their thumb.
+    
+    Analysis of event recordings (3 different people) for left, right and 
middle
+    clicks shows that there is a significant amount of events up to about 10mm
+    (with outliers up to 12mm) from the top of the touchpad. That maps to 15%.
+    
+    Interestingly, the middle button does not seem to need this, presumably the
+    haptic feedback of the little dots sticking out from the surface make 
hitting
+    the button easier. Its size is increased to 15% anyway, for simplicity and
+    because a sample set of 3 is too small to be definitive about this.
+    
+    Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
+    Reviewed-by: Hans de Goede <hdego...@redhat.com>
+    (cherry picked from commit 730101223432f60397c61f74a5e6789b3ee34ecd)
+
 commit 3a4cc96590ca0e0ff526a5e5406f29a402bddd1a
 Author: Peter Hutterer <peter.hutte...@who-t.net>
 Date:   Tue May 13 11:20:25 2014 +1000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-input-synaptics-1.8.0/INSTALL new/xf86-input-synaptics-1.8.1/INSTALL
--- old/xf86-input-synaptics-1.8.0/INSTALL      2014-05-13 03:26:42.000000000 
+0200
+++ new/xf86-input-synaptics-1.8.1/INSTALL      2014-09-17 23:43:00.000000000 
+0200
@@ -1,11 +1,13 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
 
-   This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+   Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.  This file is offered as-is,
+without warranty of any kind.
 
 Basic Installation
 ==================
@@ -13,7 +15,11 @@
    Briefly, the shell commands `./configure; make; make install' should
 configure, build, and install this package.  The following
 more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.
+instructions specific to this package.  Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below.  The lack of an optional feature in a given package is not
+necessarily a bug.  More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
 
    The `configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
@@ -42,7 +48,7 @@
 you want to change it or regenerate `configure' using a newer version
 of `autoconf'.
 
-The simplest way to compile this package is:
+   The simplest way to compile this package is:
 
   1. `cd' to the directory containing the package's source code and type
      `./configure' to configure the package for your system.
@@ -53,12 +59,22 @@
   2. Type `make' to compile the package.
 
   3. Optionally, type `make check' to run any self-tests that come with
-     the package.
+     the package, generally using the just-built uninstalled binaries.
 
   4. Type `make install' to install the programs and any data files and
-     documentation.
+     documentation.  When installing into a prefix owned by root, it is
+     recommended that the package be configured and built as a regular
+     user, and only the `make install' phase executed with root
+     privileges.
+
+  5. Optionally, type `make installcheck' to repeat any self-tests, but
+     this time using the binaries in their final installed location.
+     This target does not install anything.  Running this target as a
+     regular user, particularly if the prior `make install' required
+     root privileges, verifies that the installation completed
+     correctly.
 
-  5. You can remove the program binaries and object files from the
+  6. You can remove the program binaries and object files from the
      source code directory by typing `make clean'.  To also remove the
      files that `configure' created (so you can compile the package for
      a different kind of computer), type `make distclean'.  There is
@@ -67,8 +83,15 @@
      all sorts of other programs in order to regenerate files that came
      with the distribution.
 
-  6. Often, you can also type `make uninstall' to remove the installed
-     files again.
+  7. Often, you can also type `make uninstall' to remove the installed
+     files again.  In practice, not all packages have tested that
+     uninstallation works correctly, even though it is required by the
+     GNU Coding Standards.
+
+  8. Some packages, particularly those that use Automake, provide `make
+     distcheck', which can by used by developers to test that all other
+     targets like `make install' and `make uninstall' work correctly.
+     This target is generally not run by end users.
 
 Compilers and Options
 =====================
@@ -93,7 +116,8 @@
 own directory.  To do this, you can use GNU `make'.  `cd' to the
 directory where you want the object files and executables to go and run
 the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
+source code in the directory that `configure' is in and in `..'.  This
+is known as a "VPATH" build.
 
    With a non-GNU `make', it is safer to compile the package for one
 architecture at a time in the source code directory.  After you have
@@ -120,7 +144,8 @@
    By default, `make install' installs the package's commands under
 `/usr/local/bin', include files under `/usr/local/include', etc.  You
 can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
@@ -131,15 +156,46 @@
    In addition, if you use an unusual directory layout you can give
 options like `--bindir=DIR' to specify different values for particular
 kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
+you can set and what kinds of files go in them.  In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+   The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+   The first method involves providing an override variable for each
+affected directory.  For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'.  Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated.  The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+   The second method involves providing the `DESTDIR' variable.  For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names.  The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters.  On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
 
    If the package supports it, you can cause programs to be installed
 with an extra prefix or suffix on their names by giving `configure' the
 option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
 
-Optional Features
-=================
-
    Some packages pay attention to `--enable-FEATURE' options to
 `configure', where FEATURE indicates an optional part of the package.
 They may also pay attention to `--with-PACKAGE' options, where PACKAGE
@@ -152,6 +208,13 @@
 you can use the `configure' options `--x-includes=DIR' and
 `--x-libraries=DIR' to specify their locations.
 
+   Some packages offer the ability to configure how verbose the
+execution of `make' will be.  For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
 Particular systems
 ==================
 
@@ -159,10 +222,15 @@
 CC is not installed, it is recommended to use the following options in
 order to use an ANSI C compiler:
 
-     ./configure CC="cc -Ae"
+     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
+   HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved.  Use GNU `make'
+instead.
+
    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
 parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
 a workaround.  If GNU CC is not installed, it is therefore recommended
@@ -174,6 +242,16 @@
 
      ./configure CC="cc -nodtk"
 
+   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+   On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'.  It is recommended to use the following options:
+
+     ./configure --prefix=/boot/common
+
 Specifying the System Type
 ==========================
 
@@ -189,7 +267,8 @@
 
 where SYSTEM can have one of these forms:
 
-     OS KERNEL-OS
+     OS
+     KERNEL-OS
 
    See the file `config.sub' for the possible values of each field.  If
 `config.sub' isn't included in this package, then this package doesn't
@@ -277,7 +356,7 @@
      `configure' can determine that directory automatically.
 
 `--prefix=DIR'
-     Use DIR as the installation prefix.  *Note Installation Names::
+     Use DIR as the installation prefix.  *note Installation Names::
      for more details, including other options available for fine-tuning
      the installation locations.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-input-synaptics-1.8.0/conf/50-synaptics.conf 
new/xf86-input-synaptics-1.8.1/conf/50-synaptics.conf
--- old/xf86-input-synaptics-1.8.0/conf/50-synaptics.conf       2014-05-01 
06:18:12.000000000 +0200
+++ new/xf86-input-synaptics-1.8.1/conf/50-synaptics.conf       2014-09-17 
23:39:11.000000000 +0200
@@ -33,7 +33,7 @@
         Identifier "Default clickpad buttons"
         MatchDriver "synaptics"
         Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
-        Option "SecondarySoftButtonAreas" "58% 0 0 8% 42% 58% 0 8%"
+        Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
 EndSection
 
 # This option disables software buttons on Apple touchpads.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-input-synaptics-1.8.0/configure.ac 
new/xf86-input-synaptics-1.8.1/configure.ac
--- old/xf86-input-synaptics-1.8.0/configure.ac 2014-05-13 03:17:58.000000000 
+0200
+++ new/xf86-input-synaptics-1.8.1/configure.ac 2014-09-17 23:40:07.000000000 
+0200
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-synaptics],
-        [1.8.0],
+        [1.8.1],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-input-synaptics])
 AC_CONFIG_SRCDIR([Makefile.am])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-input-synaptics-1.8.0/src/eventcomm.c 
new/xf86-input-synaptics-1.8.1/src/eventcomm.c
--- old/xf86-input-synaptics-1.8.0/src/eventcomm.c      2014-05-13 
03:17:46.000000000 +0200
+++ new/xf86-input-synaptics-1.8.1/src/eventcomm.c      2014-09-17 
23:39:51.000000000 +0200
@@ -39,6 +39,7 @@
 #include <dirent.h>
 #include <string.h>
 #include <stdio.h>
+#include <time.h>
 #include "synproto.h"
 #include "synapticsstr.h"
 #include <xf86.h>
@@ -88,6 +89,8 @@
 
     struct libevdev *evdev;
     enum libevdev_read_flag read_flag;
+
+    int have_monotonic_clock;
 };
 
 static void
@@ -217,6 +220,7 @@
     SynapticsPrivate *priv = (SynapticsPrivate *) pInfo->private;
     struct eventcomm_proto_data *proto_data =
         (struct eventcomm_proto_data *) priv->proto_data;
+    int ret;
 
     set_libevdev_log_handler();
 
@@ -238,7 +242,6 @@
 
     if (para->grab_event_device) {
         /* Try to grab the event device so that data don't leak to 
/dev/input/mice */
-        int ret;
 
         ret = libevdev_grab(proto_data->evdev, LIBEVDEV_GRAB);
         if (ret < 0) {
@@ -250,6 +253,9 @@
 
     proto_data->need_grab = FALSE;
 
+    ret = libevdev_set_clock_id(proto_data->evdev, CLOCK_MONOTONIC);
+    proto_data->have_monotonic_clock = (ret == 0);
+
     InitializeTouch(pInfo);
 
     return TRUE;
@@ -686,7 +692,10 @@
             switch (ev.code) {
             case SYN_REPORT:
                 hw->numFingers = count_fingers(pInfo, comm);
-                hw->millis = 1000 * ev.time.tv_sec + ev.time.tv_usec / 1000;
+                if (proto_data->have_monotonic_clock)
+                    hw->millis = 1000 * ev.time.tv_sec + ev.time.tv_usec / 
1000;
+                else
+                    hw->millis = GetTimeInMillis();
                 SynapticsCopyHwState(hwRet, hw);
                 return TRUE;
             }
@@ -836,7 +845,7 @@
     if (priv->has_touch) {
         int axnum;
 
-        static const char *labels[] = {
+        static const char *labels[ABS_MT_MAX] = {
             AXIS_LABEL_PROP_ABS_MT_TOUCH_MAJOR,
             AXIS_LABEL_PROP_ABS_MT_TOUCH_MINOR,
             AXIS_LABEL_PROP_ABS_MT_WIDTH_MAJOR,
@@ -848,6 +857,9 @@
             AXIS_LABEL_PROP_ABS_MT_BLOB_ID,
             AXIS_LABEL_PROP_ABS_MT_TRACKING_ID,
             AXIS_LABEL_PROP_ABS_MT_PRESSURE,
+            AXIS_LABEL_PROP_ABS_MT_DISTANCE,
+            AXIS_LABEL_PROP_ABS_MT_TOOL_X,
+            AXIS_LABEL_PROP_ABS_MT_TOOL_Y,
         };
 
         priv->max_touches = libevdev_get_num_slots(dev);
@@ -881,7 +893,13 @@
                     break;
 
                 default:
-                    priv->touch_axes[axnum].label = labels[axis_idx];
+                    if (axis_idx >= sizeof(labels)/sizeof(labels[0])) {
+                        xf86IDrvMsg(pInfo, X_ERROR,
+                                    "Axis %d out of label range. This is a 
bug\n",
+                                    axis);
+                        priv->touch_axes[axnum].label = NULL;
+                    } else
+                        priv->touch_axes[axnum].label = labels[axis_idx];
                     priv->touch_axes[axnum].min = 
libevdev_get_abs_minimum(dev, axis);
                     priv->touch_axes[axnum].max = 
libevdev_get_abs_maximum(dev, axis);
                     /* Kernel provides units/mm, X wants units/m */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-input-synaptics-1.8.0/src/eventcomm.h 
new/xf86-input-synaptics-1.8.1/src/eventcomm.h
--- old/xf86-input-synaptics-1.8.0/src/eventcomm.h      2014-05-13 
03:17:46.000000000 +0200
+++ new/xf86-input-synaptics-1.8.1/src/eventcomm.h      2014-09-17 
23:39:11.000000000 +0200
@@ -27,6 +27,8 @@
 #ifndef _EVENTCOMM_H_
 #define _EVENTCOMM_H_
 
+#include <xorg-server.h>
+
 #include <linux/input.h>
 #include <linux/version.h>
 #include <xf86Xinput.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-input-synaptics-1.8.0/src/ps2comm.h 
new/xf86-input-synaptics-1.8.1/src/ps2comm.h
--- old/xf86-input-synaptics-1.8.0/src/ps2comm.h        2014-03-03 
00:12:17.000000000 +0100
+++ new/xf86-input-synaptics-1.8.1/src/ps2comm.h        2014-09-17 
23:39:11.000000000 +0200
@@ -22,6 +22,8 @@
 #ifndef _PS2COMM_H_
 #define _PS2COMM_H_
 
+#include <xorg-server.h>
+
 #include <unistd.h>
 #include <sys/ioctl.h>
 #include "xf86_OSproc.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-input-synaptics-1.8.0/src/synaptics.c 
new/xf86-input-synaptics-1.8.1/src/synaptics.c
--- old/xf86-input-synaptics-1.8.0/src/synaptics.c      2014-05-13 
03:17:46.000000000 +0200
+++ new/xf86-input-synaptics-1.8.1/src/synaptics.c      2014-09-17 
23:39:51.000000000 +0200
@@ -769,6 +769,16 @@
         xf86SetIntOption(opts, "HorizResolution", horizResolution);
     pars->resolution_vert =
         xf86SetIntOption(opts, "VertResolution", vertResolution);
+    if (pars->resolution_horiz <= 0) {
+        xf86IDrvMsg(pInfo, X_ERROR,
+                    "Invalid X resolution, using 1 instead.\n");
+        pars->resolution_horiz = 1;
+    }
+    if (pars->resolution_vert <= 0) {
+        xf86IDrvMsg(pInfo, X_ERROR,
+                    "Invalid Y resolution, using 1 instead.\n");
+        pars->resolution_vert = 1;
+    }
 
     /* Warn about (and fix) incorrectly configured TopEdge/BottomEdge 
parameters */
     if (pars->top_edge > pars->bottom_edge) {
@@ -1026,6 +1036,8 @@
 static void
 SynapticsReset(SynapticsPrivate * priv)
 {
+    int i;
+
     SynapticsResetHwState(priv->hwState);
     SynapticsResetHwState(priv->local_hw_state);
     SynapticsResetHwState(priv->comm.hwState);
@@ -1055,7 +1067,9 @@
     priv->prev_z = 0;
     priv->prevFingers = 0;
     priv->num_active_touches = 0;
-    memset(priv->open_slots, 0, priv->num_slots * sizeof(int));
+
+    for (i = 0; i < priv->num_slots; i++)
+        priv->open_slots[i] = -1;
 }
 
 static int
@@ -1352,6 +1366,8 @@
     InitDeviceProperties(pInfo);
     XIRegisterPropertyHandler(pInfo->dev, SetProperty, NULL, NULL);
 
+    SynapticsReset(priv);
+
     return Success;
 
  fail:
@@ -1960,8 +1976,9 @@
             (priv->tap_max_fingers <=
              ((priv->horiz_scroll_twofinger_on ||
                priv->vert_scroll_twofinger_on) ? 2 : 1)) &&
-            ((abs(hw->x - priv->touch_on.x) >= para->tap_move) ||
-             (abs(hw->y - priv->touch_on.y) >= para->tap_move)));
+            (priv->prevFingers == hw->numFingers &&
+             ((abs(hw->x - priv->touch_on.x) >= para->tap_move) ||
+              (abs(hw->y - priv->touch_on.y) >= para->tap_move))));
     press = (hw->left || hw->right || hw->middle);
 
     if (touch) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-input-synaptics-1.8.0/src/synproto.h 
new/xf86-input-synaptics-1.8.1/src/synproto.h
--- old/xf86-input-synaptics-1.8.0/src/synproto.h       2014-05-13 
03:17:46.000000000 +0200
+++ new/xf86-input-synaptics-1.8.1/src/synproto.h       2014-09-17 
23:39:11.000000000 +0200
@@ -31,6 +31,8 @@
 #include "config.h"
 #endif
 
+#include <xorg-server.h>
+
 #include <unistd.h>
 #include <sys/ioctl.h>
 #include <xf86Xinput.h>

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to