xserver: Branch 'server-1.12-branch' - 5 commits

Peter Hutterer peter.hutterer at who-t.net
Wed May 9 22:57:15 PDT 2012


On Wed, May 02, 2012 at 09:11:21PM -0700, Jeremy Huddleston wrote:
> commit 90299556db24543bb7365e8c2897deca3aa219e7
> Author: Peter Hutterer <peter.hutterer at who-t.net>
> Date:   Mon Apr 30 10:01:48 2012 +1000
> 
>     dix: when disabling a device, release all buttons and keys
>     
>     A suspend-induced device disable may happen before the device gets to see
>     the button release event. On resume, the server's internal state still has
>     some buttons pressed, causing inconsistent behaviour.
>     
>     Force the release and the matching events to be sent to the client.
>     
>     Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
>     Reviewed-by: Chase Douglas <chase.douglas at canonical.com>
>     (cherry picked from commit f3410b97cf9b48a47bee3d15d232f8a88e75f4ef)
>     
>     Conflicts:
>     
>     	dix/devices.c
> 
> diff --git a/dix/devices.c b/dix/devices.c
> index 0125504..d0e99bd 100644
> --- a/dix/devices.c
> +++ b/dix/devices.c
> @@ -432,6 +432,8 @@ DisableDevice(DeviceIntPtr dev, BOOL sendevent)
>      if (*prev != dev)
>          return FALSE;
>  
> +    ReleaseButtonsAndKeys(dev);
> +
>      /* float attached devices */
>      if (IsMaster(dev)) {
>          for (other = inputInfo.devices; other; other = other->next) {


Jeremy, please revert this one on the 1.12 branch. It triggers a segfault on
server shutdown when a device posts raw events after the root windows are
forced to NULL.
https://lists.debian.org/debian-x/2012/05/msg00240.html

the fix for this is a bit of a rabbit-hole, too bit for 1.12 at this point.

Cheers,
  Peter


More information about the xorg-devel mailing list