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