wacom 0.34.2

This commit is contained in:
Peter Hutterer 2017-03-09 08:50:42 +10:00
parent 9e4f943764
commit 457422a80b
5 changed files with 7 additions and 196 deletions

50
.gitignore vendored
View File

@ -1,49 +1 @@
xf86-input-wacom-20101119.tar.bz2
/xf86-input-wacom-20101122.tar.bz2
/xf86-input-wacom-20110217.tar.bz2
/xf86-input-wacom-20110315.tar.bz2
/xf86-input-wacom-20110401.tar.bz2
/xf86-input-wacom-20110408.tar.bz2
/xf86-input-wacom-0.11.0.tar.bz2
/xf86-input-wacom-20110527.tar.bz2
/xf86-input-wacom-20111031.tar.bz2
/xf86-input-wacom-20111110.tar.bz2
/xf86-input-wacom-0.12.0.tar.bz2
/xf86-input-wacom-0.12.99.1.tar.bz2
/xf86-input-wacom-0.13.0.tar.bz2
/xf86-input-wacom-0.13.99.1.tar.bz2
/xf86-input-wacom-0.13.99.2.tar.bz2
/xf86-input-wacom-0.14.0.tar.bz2
/xf86-input-wacom-0.15.0.tar.bz2
/xf86-input-wacom-0.16.0.tar.bz2
/xf86-input-wacom-0.16.1.tar.bz2
/xf86-input-wacom-0.17.0.tar.bz2
/xf86-input-wacom-0.17.99.1.tar.bz2
/xf86-input-wacom-0.18.0.tar.bz2
/xf86-input-wacom-0.18.99.1.tar.bz2
/xf86-input-wacom-0.19.0.tar.bz2
/xf86-input-wacom-0.19.99.1.tar.bz2
/xf86-input-wacom-0.20.0.tar.bz2
/xf86-input-wacom-0.20.99.1.tar.bz2
/xf86-input-wacom-0.21.0.tar.bz2
/xf86-input-wacom-0.21.99.1.tar.bz2
/xf86-input-wacom-0.22.0.tar.bz2
/xf86-input-wacom-0.23.0.tar.bz2
/xf86-input-wacom-0.23.99.1.tar.bz2
/xf86-input-wacom-0.24.0.tar.bz2
/xf86-input-wacom-0.25.0.tar.bz2
/xf86-input-wacom-0.26.0.tar.bz2
/xf86-input-wacom-0.26.1.tar.bz2
/xf86-input-wacom-0.27.0.tar.bz2
/xf86-input-wacom-0.28.0.tar.bz2
/xf86-input-wacom-0.28.99.1.tar.bz2
/xf86-input-wacom-0.29.0.tar.bz2
/xf86-input-wacom-0.29.99.1.tar.bz2
/xf86-input-wacom-0.30.0.tar.bz2
/xf86-input-wacom-0.31.0.tar.bz2
/xf86-input-wacom-0.32.0.tar.bz2
/xf86-input-wacom-0.32.99.1.tar.bz2
/xf86-input-wacom-0.33.0.tar.bz2
/xf86-input-wacom-20160929.tar.bz2
/xf86-input-wacom-0.33.99.1.tar.bz2
/xf86-input-wacom-0.34.0.tar.bz2
/xf86-input-wacom-0.34.2.tar.bz2

View File

@ -1,31 +0,0 @@
From 2278b26da892318be3f1266edaf9a4d3fe5ae582 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri, 24 Feb 2017 14:05:02 +1000
Subject: [PATCH] Cancel timers on DEVICE_OFF
Otherwise we run the risk of having a timer trigger after we removed the
device. Since we pass InputInfoPtrs and WacomDevicePtrs to the timers as
arguments, these may have been freed by the time a timer triggers.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
src/xf86Wacom.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/xf86Wacom.c b/src/xf86Wacom.c
index b4cf25b..26b4e9c 100644
--- a/src/xf86Wacom.c
+++ b/src/xf86Wacom.c
@@ -854,6 +854,9 @@ static int wcmDevProc(DeviceIntPtr pWcm, int what)
break;
case DEVICE_OFF:
+ TimerCancel(priv->tap_timer);
+ TimerCancel(priv->serial_timer);
+ TimerCancel(priv->touch_timer);
wcmDisableTool(pWcm);
wcmUnlinkTouchAndPen(pInfo);
if (pInfo->fd >= 0)
--
2.9.3

View File

@ -1,108 +0,0 @@
From cd53371e9a4a7ea64ba805dafa92f2e48528a938 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 23 Feb 2017 09:33:24 +1000
Subject: [PATCH] Revert to update properties with a timer func
This was required when we only had the SIGIO handler because sending events
allocates memory and things break. Now with the input thread we *can* send
events from within the thread but it can mess up other delivery.
https://bugs.freedesktop.org/show_bug.cgi?id=99887
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
src/wcmXCommand.c | 29 +++++++++++++----------------
1 file changed, 13 insertions(+), 16 deletions(-)
diff --git a/src/wcmXCommand.c b/src/wcmXCommand.c
index df7fcea..0e1d657 100644
--- a/src/wcmXCommand.c
+++ b/src/wcmXCommand.c
@@ -656,20 +656,22 @@ wcmSetHWTouchProperty(InputInfoPtr pInfo)
prop->size, &prop_value, TRUE);
}
-#if !HAVE_THREADED_INPUT
static CARD32
touchTimerFunc(OsTimerPtr timer, CARD32 now, pointer arg)
{
InputInfoPtr pInfo = arg;
+#if !HAVE_THREADED_INPUT
int sigstate = xf86BlockSIGIO();
+#endif
wcmSetHWTouchProperty(pInfo);
+#if !HAVE_THREADED_INPUT
xf86UnblockSIGIO(sigstate);
+#endif
return 0;
}
-#endif
/**
* Update HW touch property when its state is changed by touch switch
@@ -684,14 +686,10 @@ wcmUpdateHWTouchProperty(WacomDevicePtr priv, int hw_touch)
common->wcmHWTouchSwitchState = hw_touch;
-#if HAVE_THREADED_INPUT
- wcmSetHWTouchProperty(priv->pInfo);
-#else
- /* This function is called during SIGIO. Schedule timer for property
- * event delivery outside of signal handler. */
+ /* This function is called during SIGIO/InputThread. Schedule timer
+ * for property event delivery by the main thread. */
priv->touch_timer = TimerSet(priv->touch_timer, 0 /* reltime */,
1, touchTimerFunc, priv->pInfo);
-#endif
}
/**
@@ -1074,20 +1072,23 @@ wcmSetSerialProperty(InputInfoPtr pInfo)
prop->size, prop_value, TRUE);
}
-#if !HAVE_THREADED_INPUT
static CARD32
serialTimerFunc(OsTimerPtr timer, CARD32 now, pointer arg)
{
InputInfoPtr pInfo = arg;
+
+#if !HAVE_THREADED_INPUT
int sigstate = xf86BlockSIGIO();
+#endif
wcmSetSerialProperty(pInfo);
+#if !HAVE_THREADED_INPUT
xf86UnblockSIGIO(sigstate);
+#endif
return 0;
}
-#endif
void
wcmUpdateSerial(InputInfoPtr pInfo, unsigned int serial, int id)
@@ -1100,14 +1101,10 @@ wcmUpdateSerial(InputInfoPtr pInfo, unsigned int serial, int id)
priv->cur_serial = serial;
priv->cur_device_id = id;
-#if HAVE_THREADED_INPUT
- wcmSetSerialProperty(pInfo);
-#else
- /* This function is called during SIGIO. Schedule timer for property
- * event delivery outside of signal handler. */
+ /* This function is called during SIGIO/InputThread. Schedule timer
+ * for property event delivery by the main thread. */
priv->serial_timer = TimerSet(priv->serial_timer, 0 /* reltime */,
1, serialTimerFunc, pInfo);
-#endif
}
static void
--
2.9.3

View File

@ -1 +1 @@
066a0b5fc0f33379b6cee429a616b7b4 xf86-input-wacom-0.34.0.tar.bz2
SHA512 (xf86-input-wacom-0.34.2.tar.bz2) = 882a72c90838ad0cba1386629ac307adac69ed30d7bd3dcbd0cfa5d80c177eceeb09675eda45f01c61e726136f894bb3dda3f2b9b4b195287b6fcb4b00214c8e

View File

@ -8,8 +8,8 @@
Summary: Xorg X11 wacom input driver
Name: xorg-x11-drv-wacom
Version: 0.34.0
Release: 4%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
Version: 0.34.2
Release: 1%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
URL: http://www.x.org
License: GPLv2+
Group: User Interface/X Hardware Support
@ -22,9 +22,6 @@ Source2: commitid
Source0: http://prdownloads.sourceforge.net/linuxwacom/xf86-input-wacom-%{version}.tar.bz2
%endif
Patch01: 0001-Revert-to-update-properties-with-a-timer-func.patch
Patch02: 0001-Cancel-timers-on-DEVICE_OFF.patch
ExcludeArch: s390 s390x
BuildRequires: xorg-x11-server-devel >= 1.10.99.902
@ -44,8 +41,6 @@ X.Org X11 wacom input driver for Wacom tablets.
%prep
%setup -q -n %{tarball}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
%patch01 -p1
%patch02 -p1
%build
autoreconf --force -v --install || exit 1
@ -98,6 +93,9 @@ X.Org X11 wacom input driver development files.
%{_bindir}/isdv4-serial-debugger
%changelog
* Thu Mar 09 2017 Peter Hutterer <peter.hutterer@redhat.com> 0.34.2-1
- wacom 0.34.2
* Mon Feb 27 2017 Peter Hutterer <peter.hutterer@redhat.com> 0.34.0-4
- Cancel timers on DEVICE_OFF to avoid potential invalid memory dereference