Use paired kbd instead of VCK for EnterLeaveEvents, sanitize variable naming.
This commit is contained in:
parent
e7b47b1758
commit
2bb3c81fc1
24
dix/events.c
24
dix/events.c
|
@ -3436,7 +3436,7 @@ CommonAncestor(
|
||||||
|
|
||||||
static void
|
static void
|
||||||
EnterLeaveEvent(
|
EnterLeaveEvent(
|
||||||
DeviceIntPtr pDev,
|
DeviceIntPtr mouse,
|
||||||
int type,
|
int type,
|
||||||
int mode,
|
int mode,
|
||||||
int detail,
|
int detail,
|
||||||
|
@ -3444,9 +3444,8 @@ EnterLeaveEvent(
|
||||||
Window child)
|
Window child)
|
||||||
{
|
{
|
||||||
xEvent event;
|
xEvent event;
|
||||||
DeviceIntPtr keybd = inputInfo.keyboard;
|
|
||||||
WindowPtr focus;
|
WindowPtr focus;
|
||||||
DeviceIntPtr mouse = pDev;
|
DeviceIntPtr keybd;
|
||||||
GrabPtr grab = mouse->coreGrab.grab;
|
GrabPtr grab = mouse->coreGrab.grab;
|
||||||
GrabPtr devgrab = mouse->deviceGrab.grab;
|
GrabPtr devgrab = mouse->deviceGrab.grab;
|
||||||
Mask mask;
|
Mask mask;
|
||||||
|
@ -3456,6 +3455,9 @@ EnterLeaveEvent(
|
||||||
int mskidx;
|
int mskidx;
|
||||||
OtherInputMasks *inputMasks;
|
OtherInputMasks *inputMasks;
|
||||||
|
|
||||||
|
if (!(keybd = GetPairedKeyboard(mouse)))
|
||||||
|
keybd = inputInfo.keyboard;
|
||||||
|
|
||||||
if ((pWin == mouse->valuator->motionHintWindow) &&
|
if ((pWin == mouse->valuator->motionHintWindow) &&
|
||||||
(detail != NotifyInferior))
|
(detail != NotifyInferior))
|
||||||
mouse->valuator->motionHintWindow = NullWindow;
|
mouse->valuator->motionHintWindow = NullWindow;
|
||||||
|
@ -3473,8 +3475,8 @@ EnterLeaveEvent(
|
||||||
event.u.u.type = type;
|
event.u.u.type = type;
|
||||||
event.u.u.detail = detail;
|
event.u.u.detail = detail;
|
||||||
event.u.enterLeave.time = currentTime.milliseconds;
|
event.u.enterLeave.time = currentTime.milliseconds;
|
||||||
event.u.enterLeave.rootX = pDev->spriteInfo->sprite->hot.x;
|
event.u.enterLeave.rootX = mouse->spriteInfo->sprite->hot.x;
|
||||||
event.u.enterLeave.rootY = pDev->spriteInfo->sprite->hot.y;
|
event.u.enterLeave.rootY = mouse->spriteInfo->sprite->hot.y;
|
||||||
/* Counts on the same initial structure of crossing & button events! */
|
/* Counts on the same initial structure of crossing & button events! */
|
||||||
FixUpEventFromWindow(mouse, &event, pWin, None, FALSE);
|
FixUpEventFromWindow(mouse, &event, pWin, None, FALSE);
|
||||||
/* Enter/Leave events always set child */
|
/* Enter/Leave events always set child */
|
||||||
|
@ -3510,7 +3512,7 @@ EnterLeaveEvent(
|
||||||
(void)TryClientEvents(rClient(grab), &event, 1, mask,
|
(void)TryClientEvents(rClient(grab), &event, 1, mask,
|
||||||
filters[type], grab);
|
filters[type], grab);
|
||||||
else
|
else
|
||||||
(void)DeliverEventsToWindow(pDev, pWin, &event, 1, filters[type],
|
(void)DeliverEventsToWindow(mouse, pWin, &event, 1, filters[type],
|
||||||
NullGrab, 0);
|
NullGrab, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3520,8 +3522,8 @@ EnterLeaveEvent(
|
||||||
DeviceLeaveNotify;
|
DeviceLeaveNotify;
|
||||||
devEnterLeave->type = (type == EnterNotify) ? DeviceEnterNotify :
|
devEnterLeave->type = (type == EnterNotify) ? DeviceEnterNotify :
|
||||||
DeviceLeaveNotify;
|
DeviceLeaveNotify;
|
||||||
devEnterLeave->deviceid = pDev->id;
|
devEnterLeave->deviceid = mouse->id;
|
||||||
mskidx = pDev->id;
|
mskidx = mouse->id;
|
||||||
inputMasks = wOtherInputMasks(pWin);
|
inputMasks = wOtherInputMasks(pWin);
|
||||||
if (inputMasks &&
|
if (inputMasks &&
|
||||||
(filters[devEnterLeave->type] & inputMasks->deliverableEvents[mskidx]))
|
(filters[devEnterLeave->type] & inputMasks->deliverableEvents[mskidx]))
|
||||||
|
@ -3530,9 +3532,9 @@ EnterLeaveEvent(
|
||||||
(void)TryClientEvents(rClient(devgrab), (xEvent*)devEnterLeave, 1,
|
(void)TryClientEvents(rClient(devgrab), (xEvent*)devEnterLeave, 1,
|
||||||
mask, filters[devEnterLeave->type], devgrab);
|
mask, filters[devEnterLeave->type], devgrab);
|
||||||
else
|
else
|
||||||
(void)DeliverEventsToWindow(pDev, pWin, (xEvent*)devEnterLeave,
|
(void)DeliverEventsToWindow(mouse, pWin, (xEvent*)devEnterLeave,
|
||||||
1, filters[devEnterLeave->type],
|
1, filters[devEnterLeave->type],
|
||||||
NullGrab, pDev->id);
|
NullGrab, mouse->id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((type == EnterNotify) && (mask & KeymapStateMask))
|
if ((type == EnterNotify) && (mask & KeymapStateMask))
|
||||||
|
@ -3550,7 +3552,7 @@ EnterLeaveEvent(
|
||||||
(void)TryClientEvents(rClient(grab), (xEvent *)&ke, 1, mask,
|
(void)TryClientEvents(rClient(grab), (xEvent *)&ke, 1, mask,
|
||||||
KeymapStateMask, grab);
|
KeymapStateMask, grab);
|
||||||
else
|
else
|
||||||
(void)DeliverEventsToWindow(pDev, pWin, (xEvent *)&ke, 1,
|
(void)DeliverEventsToWindow(mouse, pWin, (xEvent *)&ke, 1,
|
||||||
KeymapStateMask, NullGrab, 0);
|
KeymapStateMask, NullGrab, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue