Don't release grabs unless all buttons are up
Previously, only buttons <= 5 would count here, but the core protocol allows for 255 buttons. http://lists.freedesktop.org/archives/xorg/2009-January/042092.html Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
f7f85f6965
commit
717a961528
|
@ -1118,7 +1118,7 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr device, int count)
|
||||||
xE->u.u.detail = key;
|
xE->u.u.detail = key;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!b->state && device->deviceGrab.fromPassiveGrab)
|
if (!b->buttonsDown && device->deviceGrab.fromPassiveGrab)
|
||||||
deactivateDeviceGrab = TRUE;
|
deactivateDeviceGrab = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3929,7 +3929,7 @@ ProcessPointerEvent (xEvent *xE, DeviceIntPtr mouse, int count)
|
||||||
if (xE->u.u.detail == 0)
|
if (xE->u.u.detail == 0)
|
||||||
return;
|
return;
|
||||||
filters[mouse->id][Motion_Filter(butc)] = MotionNotify;
|
filters[mouse->id][Motion_Filter(butc)] = MotionNotify;
|
||||||
if (!butc->state && mouse->deviceGrab.fromPassiveGrab)
|
if (!butc->buttonsDown && mouse->deviceGrab.fromPassiveGrab)
|
||||||
deactivateGrab = TRUE;
|
deactivateGrab = TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user