On May 9, 2012, at 10:57 PM, Peter Hutterer <[email protected]> wrote:

> On Wed, May 02, 2012 at 09:11:21PM -0700, Jeremy Huddleston wrote:
>> commit 90299556db24543bb7365e8c2897deca3aa219e7
>> Author: Peter Hutterer <[email protected]>
>> 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 <[email protected]>
>>    Reviewed-by: Chase Douglas <[email protected]>
>>    (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.

Done with a couple formatting and annotation cherry-picks in
   943cac5..58dfb13  server-1.12-branch -> server-1.12-branch



_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to