Patchwork [meta-oe] xf86-input-tslib: fix crash with xserver 1.12 and later

login
register
mail settings
Submitter Jonathan Liu
Date Feb. 11, 2014, 7:19 a.m.
Message ID <1392103144-18040-1-git-send-email-net147@gmail.com>
Download mbox | patch
Permalink /patch/66567/
State Accepted, archived
Headers show

Comments

Jonathan Liu - Feb. 11, 2014, 7:19 a.m.
Signed-off-by: Jonathan Liu <net147@gmail.com>
---
 ...f86-input-tslib-0.0.6-xf86XInputSetScreen.patch | 31 ++++++++++++++++++++++
 .../xorg-driver/xf86-input-tslib_0.0.6.bb          |  1 +
 2 files changed, 32 insertions(+)
 create mode 100644 meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch

Patch

diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
new file mode 100644
index 0000000..d16b4a5
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
@@ -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 };
+ 
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
index fab7fab..acc7528 100644
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
@@ -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"