Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 1 | Fixes crash when a touchscreen event is received with xserver 1.12 and later: |
| 2 | X: symbol lookup error: /usr/lib/xorg/modules/input/tslib_drv.so: undefined symbol: xf86XInputSetScreen |
| 3 | |
| 4 | Upstream-Status: Pending |
| 5 | |
| 6 | Taken from Gentoo: |
| 7 | https://bugs.gentoo.org/show_bug.cgi?id=446432 |
| 8 | |
| 9 | diff -ur xf86-input-tslib-0.0.6.orig/src/tslib.c xf86-input-tslib-0.0.6/src/tslib.c |
| 10 | --- xf86-input-tslib-0.0.6.orig/src/tslib.c 2012-12-05 01:12:16.286597071 +0100 |
| 11 | +++ xf86-input-tslib-0.0.6/src/tslib.c 2012-12-05 01:11:02.686598595 +0100 |
| 12 | @@ -75,6 +75,19 @@ |
| 13 | #define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options)) |
| 14 | #endif |
| 15 | |
| 16 | +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 13 |
| 17 | +static void |
| 18 | +xf86XInputSetScreen(InputInfoPtr pInfo, |
| 19 | + int screen_number, |
| 20 | + int x, |
| 21 | + int y) |
| 22 | +{ |
| 23 | + if (miPointerGetScreen(pInfo->dev) != |
| 24 | + screenInfo.screens[screen_number]) { |
| 25 | + miPointerSetScreen(pInfo->dev, screen_number, x, y); |
| 26 | + } |
| 27 | +} |
| 28 | +#endif |
| 29 | |
| 30 | enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 }; |
| 31 | |