diff --git a/Xi/exevents.c b/Xi/exevents.c index b4359a818..482041fd7 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1069,7 +1069,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 768a33ecb..6743caed9 100644 --- a/dix/events.c +++ b/dix/events.c @@ -3848,7 +3848,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: