xf86-input-tslib: fix crash with xserver 1.12 and later

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Jonathan Liu
2014-02-11 18:19:04 +11:00
committed by Martin Jansa
parent 90045a49e5
commit 34ff6c265a
2 changed files with 32 additions and 0 deletions
@@ -0,0 +1,31 @@
Fixes crash when a touchscreen event is received with xserver 1.12 and later:
X: symbol lookup error: /usr/lib/xorg/modules/input/tslib_drv.so: undefined symbol: xf86XInputSetScreen
Upstream-Status: Pending
Taken from Gentoo:
https://bugs.gentoo.org/show_bug.cgi?id=446432
diff -ur xf86-input-tslib-0.0.6.orig/src/tslib.c xf86-input-tslib-0.0.6/src/tslib.c
--- xf86-input-tslib-0.0.6.orig/src/tslib.c 2012-12-05 01:12:16.286597071 +0100
+++ xf86-input-tslib-0.0.6/src/tslib.c 2012-12-05 01:11:02.686598595 +0100
@@ -75,6 +75,19 @@
#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
#endif
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 13
+static void
+xf86XInputSetScreen(InputInfoPtr pInfo,
+ int screen_number,
+ int x,
+ int y)
+{
+ if (miPointerGetScreen(pInfo->dev) !=
+ screenInfo.screens[screen_number]) {
+ miPointerSetScreen(pInfo->dev, screen_number, x, y);
+ }
+}
+#endif
enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
@@ -16,6 +16,7 @@ SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-inp
file://xserver-174-XGetPointerControl.patch \
file://99-xf86-input-tslib.rules \
file://xf86-input-tslib-port-ABI-12-r48.patch \
file://xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch \
"
SRC_URI[md5sum] = "b7a4d2f11637ee3fcf432e044b1d017f"