summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Jaeger <ThJaeger@gmail.com>2008-12-20 16:17:02 +0100
committerPeter Hutterer <peter.hutterer@who-t.net>2009-01-16 11:46:26 +1000
commit717a961528ec69a6e630d536e15568670e0b398a (patch)
tree8aa800fc1d78a394ac17f1cf36c98fc3a1ae0e50
parentf7f85f696570541e2dd43462675de9e6ee46f545 (diff)
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.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 f3f9d390b..6bf9e5689 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 a042089ab..e23cf8f19 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: