summaryrefslogtreecommitdiff
authorThomas 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)
commit717a961528ec69a6e630d536e15568670e0b398a (patch) (side-by-side diff)
tree8aa800fc1d78a394ac17f1cf36c98fc3a1ae0e50
parentf7f85f696570541e2dd43462675de9e6ee46f545 (diff)
downloadxserver-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>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Xi/exevents.c2
-rw-r--r--dix/events.c2
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: