| author | Thomas Jaeger <ThJaeger@gmail.com> | 2008-12-20 15:17:02 (GMT) |
|---|---|---|
| committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-01-16 01:46:26 (GMT) |
| commit | 717a961528ec69a6e630d536e15568670e0b398a (patch) (side-by-side diff) | |
| tree | 8aa800fc1d78a394ac17f1cf36c98fc3a1ae0e50 | |
| parent | f7f85f696570541e2dd43462675de9e6ee46f545 (diff) | |
| download | xserver-717a961528ec69a6e630d536e15568670e0b398a.zip xserver-717a961528ec69a6e630d536e15568670e0b398a.tar.gz | |
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>
| -rw-r--r-- | Xi/exevents.c | 2 | ||||
| -rw-r--r-- | dix/events.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/Xi/exevents.c b/Xi/exevents.c index f3f9d39..6bf9e56 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1118,7 +1118,7 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr device, int count) xE->u.u.detail = key; return; } - if (!b->state && device->deviceGrab.fromPassiveGrab) + if (!b->buttonsDown && device->deviceGrab.fromPassiveGrab) deactivateDeviceGrab = TRUE; } diff --git a/dix/events.c b/dix/events.c index a042089..e23cf8f 100644 --- a/dix/events.c +++ b/dix/events.c @@ -3929,7 +3929,7 @@ ProcessPointerEvent (xEvent *xE, DeviceIntPtr mouse, int count) if (xE->u.u.detail == 0) return; filters[mouse->id][Motion_Filter(butc)] = MotionNotify; - if (!butc->state && mouse->deviceGrab.fromPassiveGrab) + if (!butc->buttonsDown && mouse->deviceGrab.fromPassiveGrab) deactivateGrab = TRUE; break; default: |
