Bug#504656: xserver-xorg-input-synaptics: Stops working after logoff
Package: xserver-xorg-input-synaptics
Version: 0.14.7~git20070706-4~dmitrmax.1
Severity: grave
Tags: patch
Justification: renders package unusable
Driver forgets to ungrab the event device so the next time it is grabbed EBUSY is returned.
This happens e.g. when I logoff from KDE session and return to KDM screen. Only restarting
the X server helps.
Bellow patch that fixes the problem.
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages xserver-xorg-input-synaptics depends on:
ii libc6 2.7-15 GNU C Library: Shared libraries
ii libx11-6 2:1.1.5-2 X11 client-side library
ii libxext6 2:1.0.4-1 X11 miscellaneous extension librar
ii libxi6 2:1.1.3-1 X11 Input extension library
ii xserver-xorg-core 2:1.4.2-7 Xorg X server - core server
xserver-xorg-input-synaptics recommends no packages.
Versions of packages xserver-xorg-input-synaptics suggests:
pn gsynaptics | ksynaptics | qsy <none> (no description available)
-- no debconf information
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages xserver-xorg-input-synaptics depends on:
ii libc6 2.7-15 GNU C Library: Shared libraries
ii libx11-6 2:1.1.5-2 X11 client-side library
ii libxext6 2:1.0.4-1 X11 miscellaneous extension librar
ii libxi6 2:1.1.3-1 X11 Input extension library
ii xserver-xorg-core 2:1.4.2-7 Xorg X server - core server
xserver-xorg-input-synaptics recommends no packages.
Versions of packages xserver-xorg-input-synaptics suggests:
pn gsynaptics | ksynaptics | qsy <none> (no description available)
-- no debconf information
--- xfree86-driver-synaptics-0.14.7~git20070706.orig/eventcomm.c
+++ xfree86-driver-synaptics-0.14.7~git20070706/eventcomm.c
@@ -58,6 +58,16 @@
static void
EventDeviceOffHook(LocalDevicePtr local)
{
+ SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
+
+ if (priv->synpara->grab_event_device) {
+ int ret;
+ SYSCALL(ret = ioctl(local->fd, EVIOCGRAB, (pointer)0));
+ if (ret < 0) {
+ xf86Msg(X_WARNING, "%s can't ungrab event device, errno=%d\n",
+ local->name, errno);
+ }
+ }
}
static void
Reply to: