From e67ebe7adab5cb7ac774f425bea0c0c63c2fb66e Mon Sep 17 00:00:00 2001 From: matthieu Date: Sun, 22 Jan 2017 09:53:41 +0000 Subject: [PATCH] Update to xf86-input-mouse 1.9.2 --- driver/xf86-input-mouse/ChangeLog | 68 ++++++++++++++++++++++++ driver/xf86-input-mouse/README | 6 +-- driver/xf86-input-mouse/compile | 2 +- driver/xf86-input-mouse/configure | 20 +++---- driver/xf86-input-mouse/configure.ac | 2 +- driver/xf86-input-mouse/src/mouse.c | 45 ++++++++++++---- driver/xf86-input-mouse/xorg-mouse.pc.in | 4 ++ 7 files changed, 123 insertions(+), 24 deletions(-) diff --git a/driver/xf86-input-mouse/ChangeLog b/driver/xf86-input-mouse/ChangeLog index ac3fd5049..4c45b5ff2 100644 --- a/driver/xf86-input-mouse/ChangeLog +++ b/driver/xf86-input-mouse/ChangeLog @@ -1,3 +1,71 @@ +commit 9d6c38eae40a435b4057a33d55759810ea7b91c1 +Author: Peter Hutterer +Date: Thu Nov 17 14:35:47 2016 +1000 + + mouse 1.9.2 + + Signed-off-by: Peter Hutterer + +commit 2dda9b90b9c632d2f27a7b2f46bc4e4af1e9d82d +Author: Keith Packard +Date: Mon May 30 22:45:13 2016 -0700 + + Support ABI_XINPUT_VERSION 24 (remove LastSelectMask from block/wakeup) + + The block and wakeup handler API is changing so that the FD_SET type + isn't visible outside the OS layer anymore. The mouse driver didn't + need that argument anyways, so the change is just to adjust the APIs + to avoid compiler warnings. + + Signed-off-by: Keith Packard + Signed-off-by: Peter Hutterer + +commit 80952e5a5fcb4158249451f2339de618c4e63b82 +Author: Keith Packard +Date: Mon May 30 22:45:12 2016 -0700 + + Support ABI_XINPUT_VERSION 23 (use input_lock/input_unlock) + + This makes using input_lock/input_unlock conditional on the ABI + version so that we don't get compiler warnings when compiling with the + newer server bits. + + Signed-off-by: Keith Packard + Signed-off-by: Peter Hutterer + +commit c22d3073dc1b82fe6c466e5ea71b6da755bb9a8e +Author: Thomas Klausner +Date: Mon Jul 27 00:06:06 2015 +0200 + + Add some standard defines to pkg-config file. + + Not strictly needed in the xorg build, but helps the NetBSD reachover + build, and follows implicit conventions about pkg-config files more + closely. + + See also http://gnats.netbsd.org/48991 + + Signed-off-by: Thomas Klausner + Reviewed-by: Alan Coopersmith + +commit 85ee769d769e87b1e4a21b8c48944238c8ebe5f7 +Author: Alan Coopersmith +Date: Sat Feb 28 09:38:38 2015 -0800 + + README: Drop ancient, no longer supported versions of Solaris + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + +commit 9d404d41b6edbee9b96ee8bad705f7e5fdd3e7c1 +Author: Alan Coopersmith +Date: Sat Feb 28 09:36:29 2015 -0800 + + README: Add "or xf86-input-libinput" to -evdev note for Linux + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + commit 6886084b192e681739fc55892f30681efb4f79f0 Author: Alan Coopersmith Date: Mon Aug 11 23:36:23 2014 -0700 diff --git a/driver/xf86-input-mouse/README b/driver/xf86-input-mouse/README index 8daf55853..3c1c17583 100644 --- a/driver/xf86-input-mouse/README +++ b/driver/xf86-input-mouse/README @@ -59,7 +59,7 @@ This document describes mouse support in the xf86-input-mouse driver for the Xorg X server. This driver is mainly used on non-Linux operating systems such as BSD & Solaris, as modern Linux systems use - the xf86-input-evdev driver instead. + the xf86-input-evdev or xf86-input-libinput drivers instead. Mouse configuration has often been mysterious task for novice users. However, once you learn several basics, it is straightforward to write @@ -158,7 +158,7 @@ NetBSD/pc98 Ok ? Ok NA NA NA OpenBSD Ok Ok Ok Ok*1 Ok*1 Ok*1 SCO Ok ? SP*1 SP*1 NA ? - Solaris 2.x Ok NA*1 ?*1 Ok Ok SP*1 + Solaris Ok NA*1 ?*1 Ok Ok SP*1 SVR4 Ok NA*1 SP*1 SP*1 NA ? PANIX Ok ? SP*1 SP*1 NA ? @@ -302,7 +302,7 @@ 3.14. Solaris - Testing has been done with Solaris 2.5.1, 2.6, 7, 8, 9, 10, and 11. + Testing has been done with Solaris 10 and 11. On Solaris 10 1/06 and later versions with "virtual mouse" support, all PS/2 and USB mice connected to the system can be accessed via the diff --git a/driver/xf86-input-mouse/compile b/driver/xf86-input-mouse/compile index 531136b06..a85b723c7 100755 --- a/driver/xf86-input-mouse/compile +++ b/driver/xf86-input-mouse/compile @@ -3,7 +3,7 @@ scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify diff --git a/driver/xf86-input-mouse/configure b/driver/xf86-input-mouse/configure index 9257fe911..a89d83d6c 100644 --- a/driver/xf86-input-mouse/configure +++ b/driver/xf86-input-mouse/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xf86-input-mouse 1.9.1. +# Generated by GNU Autoconf 2.69 for xf86-input-mouse 1.9.2. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='xf86-input-mouse' PACKAGE_TARNAME='xf86-input-mouse' -PACKAGE_VERSION='1.9.1' -PACKAGE_STRING='xf86-input-mouse 1.9.1' +PACKAGE_VERSION='1.9.2' +PACKAGE_STRING='xf86-input-mouse 1.9.2' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' @@ -1359,7 +1359,7 @@ if test "$ac_init_help" = "long"; then # 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-mouse 1.9.1 to adapt to many kinds of systems. +\`configure' configures xf86-input-mouse 1.9.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1430,7 +1430,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xf86-input-mouse 1.9.1:";; + short | recursive ) echo "Configuration of xf86-input-mouse 1.9.2:";; esac cat <<\_ACEOF @@ -1559,7 +1559,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xf86-input-mouse configure 1.9.1 +xf86-input-mouse configure 1.9.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1974,7 +1974,7 @@ cat >config.log <<_ACEOF 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-mouse $as_me 1.9.1, which was +It was created by xf86-input-mouse $as_me 1.9.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4114,7 +4114,7 @@ fi # Define the identity of the package. PACKAGE='xf86-input-mouse' - VERSION='1.9.1' + VERSION='1.9.2' cat >>confdefs.h <<_ACEOF @@ -18491,7 +18491,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xf86-input-mouse $as_me 1.9.1, which was +This file was extended by xf86-input-mouse $as_me 1.9.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18557,7 +18557,7 @@ _ACEOF 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-mouse config.status 1.9.1 +xf86-input-mouse config.status 1.9.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/driver/xf86-input-mouse/configure.ac b/driver/xf86-input-mouse/configure.ac index 15d9047b1..3d58f7c52 100644 --- a/driver/xf86-input-mouse/configure.ac +++ b/driver/xf86-input-mouse/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-input-mouse], - [1.9.1], + [1.9.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-input-mouse]) AC_CONFIG_SRCDIR([Makefile.am]) diff --git a/driver/xf86-input-mouse/src/mouse.c b/driver/xf86-input-mouse/src/mouse.c index f9f874b31..dae98aaf4 100644 --- a/driver/xf86-input-mouse/src/mouse.c +++ b/driver/xf86-input-mouse/src/mouse.c @@ -129,6 +129,18 @@ typedef struct _DragLockRec { } DragLockRec, *DragLockPtr; +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 23 +#define HAVE_THREADED_INPUT 1 +#endif + +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 24 +#define BLOCK_HANDLER_ARGS void *data, void *waitTime +#define WAKEUP_HANDLER_ARGS void *data, int i +#else +#define BLOCK_HANDLER_ARGS pointer data, struct timeval **waitTime, pointer LastSelectMask +#define WAKEUP_HANDLER_ARGS void *data, int i, pointer LastSelectMask +#endif + #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 static InputInfoPtr MousePreInit(InputDriverPtr drv, IDevPtr dev, int flags); #else @@ -140,9 +152,8 @@ static void MouseCtrl(DeviceIntPtr device, PtrCtrl *ctrl); static void MousePostEvent(InputInfoPtr pInfo, int buttons, int dx, int dy, int dz, int dw); static void MouseReadInput(InputInfoPtr pInfo); -static void MouseBlockHandler(pointer data, struct timeval **waitTime, - pointer LastSelectMask); -static void MouseWakeupHandler(pointer data, int i, pointer LastSelectMask); +static void MouseBlockHandler(BLOCK_HANDLER_ARGS); +static void MouseWakeupHandler(WAKEUP_HANDLER_ARGS); static void FlushButtons(MouseDevPtr pMse); static Bool SetupMouse(InputInfoPtr pInfo); @@ -2025,12 +2036,18 @@ static CARD32 buttonTimer(InputInfoPtr pInfo) { MouseDevPtr pMse; +#if !HAVE_THREADED_INPUT int sigstate; +#endif int id; pMse = pInfo->private; +#if HAVE_THREADED_INPUT + input_lock(); +#else sigstate = xf86BlockSIGIO (); +#endif pMse->emulate3Pending = FALSE; if ((id = stateTab[pMse->emulateState][4][0]) != 0) { @@ -2041,7 +2058,11 @@ buttonTimer(InputInfoPtr pInfo) "Got unexpected buttonTimer in state %d\n", pMse->emulateState); } +#if HAVE_THREADED_INPUT + input_unlock(); +#else xf86UnblockSIGIO (sigstate); +#endif return 0; } @@ -2098,9 +2119,7 @@ Emulate3ButtonsSoft(InputInfoPtr pInfo) #endif } -static void MouseBlockHandler(pointer data, - struct timeval **waitTime, - pointer LastSelectMask) +static void MouseBlockHandler(BLOCK_HANDLER_ARGS) { InputInfoPtr pInfo = (InputInfoPtr) data; MouseDevPtr pMse = (MouseDevPtr) pInfo->private; @@ -2115,9 +2134,7 @@ static void MouseBlockHandler(pointer data, } } -static void MouseWakeupHandler(pointer data, - int i, - pointer LastSelectMask) +static void MouseWakeupHandler(WAKEUP_HANDLER_ARGS) { InputInfoPtr pInfo = (InputInfoPtr) data; MouseDevPtr pMse = (MouseDevPtr) pInfo->private; @@ -3276,14 +3293,20 @@ createProtoList(MouseDevPtr pMse, MouseProtocolID *protoList) unsigned char *para; mousePrivPtr mPriv = (mousePrivPtr)pMse->mousePriv; MouseProtocolID *tmplist = NULL; +#if !HAVE_THREADED_INPUT int blocked; +#endif AP_DBGC(("Autoprobe: ")); for (i = 0; i < mPriv->count; i++) AP_DBGC(("%2.2x ", (unsigned char) mPriv->data[i])); AP_DBGC(("\n")); +#if HAVE_THREADED_INPUT + input_lock(); +#else blocked = xf86BlockSIGIO (); +#endif /* create a private copy first so we can write in the old list */ if ((tmplist = malloc(sizeof(MouseProtocolID) * NUM_AUTOPROBE_PROTOS))){ @@ -3392,7 +3415,11 @@ createProtoList(MouseDevPtr pMse, MouseProtocolID *protoList) } } +#if HAVE_THREADED_INPUT + input_unlock(); +#else xf86UnblockSIGIO(blocked); +#endif mPriv->protoList[k] = PROT_UNKNOWN; diff --git a/driver/xf86-input-mouse/xorg-mouse.pc.in b/driver/xf86-input-mouse/xorg-mouse.pc.in index 2a77e7cc5..57df59692 100644 --- a/driver/xf86-input-mouse/xorg-mouse.pc.in +++ b/driver/xf86-input-mouse/xorg-mouse.pc.in @@ -1,3 +1,7 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ sdkdir=@sdkdir@ Name: xorg-mouse