dix: Extract FreezeThisEventIfNeededForSyncGrab()
This commit is contained in:
parent
36f8dacc06
commit
f5220117e9
17
dix/events.c
17
dix/events.c
|
@ -4256,7 +4256,6 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
|
|||
GrabPtr grab;
|
||||
GrabInfoPtr grabinfo;
|
||||
int deliveries = 0;
|
||||
DeviceIntPtr dev;
|
||||
SpritePtr pSprite = thisDev->spriteInfo->sprite;
|
||||
BOOL sendCore = FALSE;
|
||||
|
||||
|
@ -4304,6 +4303,19 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
|
|||
event->any.type == ET_KeyRelease ||
|
||||
event->any.type == ET_ButtonPress ||
|
||||
event->any.type == ET_ButtonRelease)) {
|
||||
FreezeThisEventIfNeededForSyncGrab(thisDev, event);
|
||||
}
|
||||
|
||||
return deliveries;
|
||||
}
|
||||
|
||||
void
|
||||
FreezeThisEventIfNeededForSyncGrab(DeviceIntPtr thisDev, InternalEvent *event)
|
||||
{
|
||||
GrabInfoPtr grabinfo = &thisDev->deviceGrab;
|
||||
GrabPtr grab = grabinfo->grab;
|
||||
DeviceIntPtr dev;
|
||||
|
||||
switch (grabinfo->sync.state) {
|
||||
case FREEZE_BOTH_NEXT_EVENT:
|
||||
dev = GetPairedDevice(thisDev);
|
||||
|
@ -4323,9 +4335,6 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
|
|||
*grabinfo->sync.event = *event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return deliveries;
|
||||
}
|
||||
|
||||
/* This function is used to set the key pressed or key released state -
|
||||
|
|
|
@ -449,6 +449,10 @@ DeliverGrabbedEvent(InternalEvent * /* event */ ,
|
|||
DeviceIntPtr /* thisDev */ ,
|
||||
Bool /* deactivateGrab */ );
|
||||
|
||||
extern void
|
||||
FreezeThisEventIfNeededForSyncGrab(DeviceIntPtr thisDev,
|
||||
InternalEvent *event);
|
||||
|
||||
extern void
|
||||
FixKeyState(DeviceEvent * /* event */ ,
|
||||
DeviceIntPtr /* keybd */ );
|
||||
|
|
Loading…
Reference in New Issue
Block a user