From 0b4db74922299df785e6273fdb1bf65c38d36070 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 17 May 2007 18:00:07 +0930 Subject: [PATCH] Squish the flags into the upper bits of the mode field for EnterLeave events. This way we have enough space for the detail field. --- dix/events.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dix/events.c b/dix/events.c index b36e4a459..13c817a1a 100644 --- a/dix/events.c +++ b/dix/events.c @@ -3940,11 +3940,14 @@ EnterLeaveEvent( NullGrab, 0); } + /* we don't have enough bytes, so we squash flags and mode into + one byte, and use the last byte for the deviceid. */ devEnterLeave = (deviceEnterNotify*)&event; devEnterLeave->type = (type == EnterNotify) ? DeviceEnterNotify : DeviceLeaveNotify; devEnterLeave->type = (type == EnterNotify) ? DeviceEnterNotify : DeviceLeaveNotify; + devEnterLeave->mode |= (event.u.enterLeave.flags << 4); devEnterLeave->deviceid = mouse->id; mskidx = mouse->id; inputMasks = wOtherInputMasks(pWin);