Set event sequence number in WriteEventsToClient instead of at callers.
TryClientEvents already did this; this commit just moves the assignment one level down so that no event source has to worry about sequence numbers. ...No event source, that is, except XKB, which inexplicably calls WriteToClient directly for several events. Signed-off-by: Jamey Sharp <jamey@minilop.net> Reviewed-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
4b9600a416
commit
8033fb6c97
|
@ -480,7 +480,6 @@ SendScreenSaverNotify (ScreenPtr pScreen, int state, Bool forced)
|
||||||
ScreenSaverEventPtr pEv;
|
ScreenSaverEventPtr pEv;
|
||||||
unsigned long mask;
|
unsigned long mask;
|
||||||
xScreenSaverNotifyEvent ev;
|
xScreenSaverNotifyEvent ev;
|
||||||
ClientPtr client;
|
|
||||||
int kind;
|
int kind;
|
||||||
|
|
||||||
UpdateCurrentTimeIf ();
|
UpdateCurrentTimeIf ();
|
||||||
|
@ -499,18 +498,16 @@ SendScreenSaverNotify (ScreenPtr pScreen, int state, Bool forced)
|
||||||
kind = ScreenSaverInternal;
|
kind = ScreenSaverInternal;
|
||||||
for (pEv = pPriv->events; pEv; pEv = pEv->next)
|
for (pEv = pPriv->events; pEv; pEv = pEv->next)
|
||||||
{
|
{
|
||||||
client = pEv->client;
|
|
||||||
if (!(pEv->mask & mask))
|
if (!(pEv->mask & mask))
|
||||||
continue;
|
continue;
|
||||||
ev.type = ScreenSaverNotify + ScreenSaverEventBase;
|
ev.type = ScreenSaverNotify + ScreenSaverEventBase;
|
||||||
ev.state = state;
|
ev.state = state;
|
||||||
ev.sequenceNumber = client->sequence;
|
|
||||||
ev.timestamp = currentTime.milliseconds;
|
ev.timestamp = currentTime.milliseconds;
|
||||||
ev.root = WindowTable[pScreen->myNum]->drawable.id;
|
ev.root = WindowTable[pScreen->myNum]->drawable.id;
|
||||||
ev.window = savedScreenInfo[pScreen->myNum].wid;
|
ev.window = savedScreenInfo[pScreen->myNum].wid;
|
||||||
ev.kind = kind;
|
ev.kind = kind;
|
||||||
ev.forced = forced;
|
ev.forced = forced;
|
||||||
WriteEventsToClient (client, 1, (xEvent *) &ev);
|
WriteEventsToClient (pEv->client, 1, (xEvent *) &ev);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -198,12 +198,10 @@ SecurityDeleteAuthorization(
|
||||||
while ((pEventClient = pAuth->eventClients))
|
while ((pEventClient = pAuth->eventClients))
|
||||||
{
|
{
|
||||||
/* send revocation event event */
|
/* send revocation event event */
|
||||||
ClientPtr client = rClient(pEventClient);
|
|
||||||
xSecurityAuthorizationRevokedEvent are;
|
xSecurityAuthorizationRevokedEvent are;
|
||||||
are.type = SecurityEventBase + XSecurityAuthorizationRevoked;
|
are.type = SecurityEventBase + XSecurityAuthorizationRevoked;
|
||||||
are.sequenceNumber = client->sequence;
|
|
||||||
are.authId = pAuth->id;
|
are.authId = pAuth->id;
|
||||||
WriteEventsToClient(client, 1, (xEvent *)&are);
|
WriteEventsToClient(rClient(pEventClient), 1, (xEvent *)&are);
|
||||||
FreeResource(pEventClient->resource, RT_NONE);
|
FreeResource(pEventClient->resource, RT_NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -885,7 +885,6 @@ void
|
||||||
SendShapeNotify (WindowPtr pWin, int which)
|
SendShapeNotify (WindowPtr pWin, int which)
|
||||||
{
|
{
|
||||||
ShapeEventPtr *pHead, pShapeEvent;
|
ShapeEventPtr *pHead, pShapeEvent;
|
||||||
ClientPtr client;
|
|
||||||
xShapeNotifyEvent se;
|
xShapeNotifyEvent se;
|
||||||
BoxRec extents;
|
BoxRec extents;
|
||||||
RegionPtr region;
|
RegionPtr region;
|
||||||
|
@ -940,18 +939,16 @@ SendShapeNotify (WindowPtr pWin, int which)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (pShapeEvent = *pHead; pShapeEvent; pShapeEvent = pShapeEvent->next) {
|
for (pShapeEvent = *pHead; pShapeEvent; pShapeEvent = pShapeEvent->next) {
|
||||||
client = pShapeEvent->client;
|
|
||||||
se.type = ShapeNotify + ShapeEventBase;
|
se.type = ShapeNotify + ShapeEventBase;
|
||||||
se.kind = which;
|
se.kind = which;
|
||||||
se.window = pWin->drawable.id;
|
se.window = pWin->drawable.id;
|
||||||
se.sequenceNumber = client->sequence;
|
|
||||||
se.x = extents.x1;
|
se.x = extents.x1;
|
||||||
se.y = extents.y1;
|
se.y = extents.y1;
|
||||||
se.width = extents.x2 - extents.x1;
|
se.width = extents.x2 - extents.x1;
|
||||||
se.height = extents.y2 - extents.y1;
|
se.height = extents.y2 - extents.y1;
|
||||||
se.time = currentTime.milliseconds;
|
se.time = currentTime.milliseconds;
|
||||||
se.shaped = shaped;
|
se.shaped = shaped;
|
||||||
WriteEventsToClient (client, 1, (xEvent *) &se);
|
WriteEventsToClient (pShapeEvent->client, 1, (xEvent *) &se);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -943,7 +943,6 @@ ProcShmPutImage(ClientPtr client)
|
||||||
|
|
||||||
ev.type = ShmCompletionCode;
|
ev.type = ShmCompletionCode;
|
||||||
ev.drawable = stuff->drawable;
|
ev.drawable = stuff->drawable;
|
||||||
ev.sequenceNumber = client->sequence;
|
|
||||||
ev.minorEvent = X_ShmPutImage;
|
ev.minorEvent = X_ShmPutImage;
|
||||||
ev.majorEvent = ShmReqCode;
|
ev.majorEvent = ShmReqCode;
|
||||||
ev.shmseg = stuff->shmseg;
|
ev.shmseg = stuff->shmseg;
|
||||||
|
|
|
@ -372,7 +372,6 @@ SyncSendAlarmNotifyEvents(SyncAlarm *pAlarm)
|
||||||
|
|
||||||
ane.type = SyncEventBase + XSyncAlarmNotify;
|
ane.type = SyncEventBase + XSyncAlarmNotify;
|
||||||
ane.kind = XSyncAlarmNotify;
|
ane.kind = XSyncAlarmNotify;
|
||||||
ane.sequenceNumber = pAlarm->client->sequence;
|
|
||||||
ane.alarm = pAlarm->alarm_id;
|
ane.alarm = pAlarm->alarm_id;
|
||||||
if (pTrigger->pCounter)
|
if (pTrigger->pCounter)
|
||||||
{
|
{
|
||||||
|
@ -395,10 +394,7 @@ SyncSendAlarmNotifyEvents(SyncAlarm *pAlarm)
|
||||||
|
|
||||||
/* send to other interested clients */
|
/* send to other interested clients */
|
||||||
for (pcl = pAlarm->pEventClients; pcl; pcl = pcl->next)
|
for (pcl = pAlarm->pEventClients; pcl; pcl = pcl->next)
|
||||||
{
|
|
||||||
ane.sequenceNumber = pcl->client->sequence;
|
|
||||||
WriteEventsToClient(pcl->client, 1, (xEvent *) &ane);
|
WriteEventsToClient(pcl->client, 1, (xEvent *) &ane);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -423,7 +419,6 @@ SyncSendCounterNotifyEvents(ClientPtr client, SyncAwait **ppAwait,
|
||||||
SyncTrigger *pTrigger = &(*ppAwait)->trigger;
|
SyncTrigger *pTrigger = &(*ppAwait)->trigger;
|
||||||
pev->type = SyncEventBase + XSyncCounterNotify;
|
pev->type = SyncEventBase + XSyncCounterNotify;
|
||||||
pev->kind = XSyncCounterNotify;
|
pev->kind = XSyncCounterNotify;
|
||||||
pev->sequenceNumber = client->sequence;
|
|
||||||
pev->counter = pTrigger->pCounter->id;
|
pev->counter = pTrigger->pCounter->id;
|
||||||
pev->wait_value_lo = XSyncValueLow32(pTrigger->test_value);
|
pev->wait_value_lo = XSyncValueLow32(pTrigger->test_value);
|
||||||
pev->wait_value_hi = XSyncValueHigh32(pTrigger->test_value);
|
pev->wait_value_hi = XSyncValueHigh32(pTrigger->test_value);
|
||||||
|
|
|
@ -54,7 +54,6 @@ xcalibrate_event_hook (int x, int y, int pressure, void *closure)
|
||||||
xXCalibrateRawTouchscreenEvent ev;
|
xXCalibrateRawTouchscreenEvent ev;
|
||||||
|
|
||||||
ev.type = XCalibrateEventBase + X_XCalibrateRawTouchscreen;
|
ev.type = XCalibrateEventBase + X_XCalibrateRawTouchscreen;
|
||||||
ev.sequenceNumber = pClient->sequence;
|
|
||||||
ev.x = x;
|
ev.x = x;
|
||||||
ev.y = y;
|
ev.y = y;
|
||||||
ev.pressure = pressure;
|
ev.pressure = pressure;
|
||||||
|
|
|
@ -1100,7 +1100,6 @@ ProcXvShmPutImage(ClientPtr client)
|
||||||
|
|
||||||
ev.type = ShmCompletionCode;
|
ev.type = ShmCompletionCode;
|
||||||
ev.drawable = stuff->drawable;
|
ev.drawable = stuff->drawable;
|
||||||
ev.sequenceNumber = client->sequence;
|
|
||||||
ev.minorEvent = xv_ShmPutImage;
|
ev.minorEvent = xv_ShmPutImage;
|
||||||
ev.majorEvent = XvReqCode;
|
ev.majorEvent = XvReqCode;
|
||||||
ev.shmseg = stuff->shmseg;
|
ev.shmseg = stuff->shmseg;
|
||||||
|
|
|
@ -50,7 +50,6 @@ DamageExtNotify (DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes)
|
||||||
UpdateCurrentTimeIf ();
|
UpdateCurrentTimeIf ();
|
||||||
ev.type = DamageEventBase + XDamageNotify;
|
ev.type = DamageEventBase + XDamageNotify;
|
||||||
ev.level = pDamageExt->level;
|
ev.level = pDamageExt->level;
|
||||||
ev.sequenceNumber = pClient->sequence;
|
|
||||||
ev.drawable = pDamageExt->drawable;
|
ev.drawable = pDamageExt->drawable;
|
||||||
ev.damage = pDamageExt->id;
|
ev.damage = pDamageExt->id;
|
||||||
ev.timestamp = currentTime.milliseconds;
|
ev.timestamp = currentTime.milliseconds;
|
||||||
|
|
|
@ -3741,7 +3741,6 @@ SendErrorToClient(ClientPtr client, unsigned majorCode, unsigned minorCode,
|
||||||
|
|
||||||
memset(&rep, 0, sizeof(xError));
|
memset(&rep, 0, sizeof(xError));
|
||||||
rep.type = X_Error;
|
rep.type = X_Error;
|
||||||
rep.sequenceNumber = client->sequence;
|
|
||||||
rep.errorCode = errorCode;
|
rep.errorCode = errorCode;
|
||||||
rep.majorCode = majorCode;
|
rep.majorCode = majorCode;
|
||||||
rep.minorCode = minorCode;
|
rep.minorCode = minorCode;
|
||||||
|
|
15
dix/events.c
15
dix/events.c
|
@ -1841,7 +1841,6 @@ int
|
||||||
TryClientEvents (ClientPtr client, DeviceIntPtr dev, xEvent *pEvents,
|
TryClientEvents (ClientPtr client, DeviceIntPtr dev, xEvent *pEvents,
|
||||||
int count, Mask mask, Mask filter, GrabPtr grab)
|
int count, Mask mask, Mask filter, GrabPtr grab)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
int type;
|
int type;
|
||||||
|
|
||||||
#ifdef DEBUG_EVENTS
|
#ifdef DEBUG_EVENTS
|
||||||
|
@ -1908,7 +1907,6 @@ TryClientEvents (ClientPtr client, DeviceIntPtr dev, xEvent *pEvents,
|
||||||
{
|
{
|
||||||
xEvent release = *pEvents;
|
xEvent release = *pEvents;
|
||||||
release.u.u.type = KeyRelease;
|
release.u.u.type = KeyRelease;
|
||||||
release.u.u.sequenceNumber = client->sequence;
|
|
||||||
WriteEventsToClient(client, 1, &release);
|
WriteEventsToClient(client, 1, &release);
|
||||||
#ifdef DEBUG_EVENTS
|
#ifdef DEBUG_EVENTS
|
||||||
ErrorF(" (plus fake core release for repeat)");
|
ErrorF(" (plus fake core release for repeat)");
|
||||||
|
@ -1929,7 +1927,6 @@ TryClientEvents (ClientPtr client, DeviceIntPtr dev, xEvent *pEvents,
|
||||||
{
|
{
|
||||||
deviceKeyButtonPointer release = *(deviceKeyButtonPointer *)pEvents;
|
deviceKeyButtonPointer release = *(deviceKeyButtonPointer *)pEvents;
|
||||||
release.type = DeviceKeyRelease;
|
release.type = DeviceKeyRelease;
|
||||||
release.sequenceNumber = client->sequence;
|
|
||||||
#ifdef DEBUG_EVENTS
|
#ifdef DEBUG_EVENTS
|
||||||
ErrorF(" (plus fake xi1 release for repeat)");
|
ErrorF(" (plus fake xi1 release for repeat)");
|
||||||
#endif
|
#endif
|
||||||
|
@ -1943,14 +1940,6 @@ TryClientEvents (ClientPtr client, DeviceIntPtr dev, xEvent *pEvents,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type &= 0177;
|
|
||||||
if (type != KeymapNotify)
|
|
||||||
{
|
|
||||||
/* all extension events must have a sequence number */
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
pEvents[i].u.u.sequenceNumber = client->sequence;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (BitIsOn(criticalEvents, type))
|
if (BitIsOn(criticalEvents, type))
|
||||||
{
|
{
|
||||||
if (client->smart_priority < SMART_MAX_PRIORITY)
|
if (client->smart_priority < SMART_MAX_PRIORITY)
|
||||||
|
@ -5672,6 +5661,10 @@ WriteEventsToClient(ClientPtr pClient, int count, xEvent *events)
|
||||||
if (!pClient || pClient == serverClient || pClient->clientGone)
|
if (!pClient || pClient == serverClient || pClient->clientGone)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
for (i = 0; i < count; i++)
|
||||||
|
if ((events[i].u.u.type & 0x7f) != KeymapNotify)
|
||||||
|
events[i].u.u.sequenceNumber = pClient->sequence;
|
||||||
|
|
||||||
/* Let XKB rewrite the state, as it depends on client preferences. */
|
/* Let XKB rewrite the state, as it depends on client preferences. */
|
||||||
XkbFilterEvents(pClient, count, events);
|
XkbFilterEvents(pClient, count, events);
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,6 @@ do_butmap_change(DeviceIntPtr dev, CARD8 *map, int len, ClientPtr client)
|
||||||
if (!XIShouldNotify(clients[i], dev))
|
if (!XIShouldNotify(clients[i], dev))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
core_mn.u.u.sequenceNumber = clients[i]->sequence;
|
|
||||||
WriteEventsToClient(clients[i], 1, &core_mn);
|
WriteEventsToClient(clients[i], 1, &core_mn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -187,7 +187,6 @@ __glXdriSwapEvent(ClientPtr client, void *data, int type, CARD64 ust,
|
||||||
/* unknown swap completion type */
|
/* unknown swap completion type */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
wire.sequenceNumber = client->sequence;
|
|
||||||
wire.drawable = drawable->drawId;
|
wire.drawable = drawable->drawId;
|
||||||
wire.ust_hi = ust >> 32;
|
wire.ust_hi = ust >> 32;
|
||||||
wire.ust_lo = ust & 0xffffffff;
|
wire.ust_lo = ust & 0xffffffff;
|
||||||
|
|
|
@ -331,7 +331,6 @@ SendXF86VidModeNotify(ScreenPtr pScreen, int state, Bool forced)
|
||||||
XF86VidModeEventPtr pEv;
|
XF86VidModeEventPtr pEv;
|
||||||
unsigned long mask;
|
unsigned long mask;
|
||||||
xXF86VidModeNotifyEvent ev;
|
xXF86VidModeNotifyEvent ev;
|
||||||
ClientPtr client;
|
|
||||||
int kind;
|
int kind;
|
||||||
|
|
||||||
UpdateCurrentTimeIf ();
|
UpdateCurrentTimeIf ();
|
||||||
|
@ -343,17 +342,15 @@ SendXF86VidModeNotify(ScreenPtr pScreen, int state, Bool forced)
|
||||||
kind = XF86VidModeModeChange;
|
kind = XF86VidModeModeChange;
|
||||||
for (pEv = pPriv->events; pEv; pEv = pEv->next)
|
for (pEv = pPriv->events; pEv; pEv = pEv->next)
|
||||||
{
|
{
|
||||||
client = pEv->client;
|
|
||||||
if (!(pEv->mask & mask))
|
if (!(pEv->mask & mask))
|
||||||
continue;
|
continue;
|
||||||
ev.type = XF86VidModeNotify + XF86VidModeEventBase;
|
ev.type = XF86VidModeNotify + XF86VidModeEventBase;
|
||||||
ev.state = state;
|
ev.state = state;
|
||||||
ev.sequenceNumber = client->sequence;
|
|
||||||
ev.timestamp = currentTime.milliseconds;
|
ev.timestamp = currentTime.milliseconds;
|
||||||
ev.root = WindowTable[pScreen->myNum]->drawable.id;
|
ev.root = WindowTable[pScreen->myNum]->drawable.id;
|
||||||
ev.kind = kind;
|
ev.kind = kind;
|
||||||
ev.forced = forced;
|
ev.forced = forced;
|
||||||
WriteEventsToClient (client, 1, (xEvent *) &ev);
|
WriteEventsToClient (pEv->client, 1, (xEvent *) &ev);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -161,7 +161,6 @@ DRI2InvalidateBuffersEvent(DrawablePtr pDraw, void *priv)
|
||||||
ClientPtr client = priv;
|
ClientPtr client = priv;
|
||||||
|
|
||||||
event.type = DRI2EventBase + DRI2_InvalidateBuffers;
|
event.type = DRI2EventBase + DRI2_InvalidateBuffers;
|
||||||
event.sequenceNumber = client->sequence;
|
|
||||||
event.drawable = pDraw->id;
|
event.drawable = pDraw->id;
|
||||||
|
|
||||||
WriteEventsToClient(client, 1, (xEvent *)&event);
|
WriteEventsToClient(client, 1, (xEvent *)&event);
|
||||||
|
@ -363,7 +362,6 @@ DRI2SwapEvent(ClientPtr client, void *data, int type, CARD64 ust, CARD64 msc,
|
||||||
DrawablePtr pDrawable = data;
|
DrawablePtr pDrawable = data;
|
||||||
|
|
||||||
event.type = DRI2EventBase + DRI2_BufferSwapComplete;
|
event.type = DRI2EventBase + DRI2_BufferSwapComplete;
|
||||||
event.sequenceNumber = client->sequence;
|
|
||||||
event.event_type = type;
|
event.event_type = type;
|
||||||
event.drawable = pDrawable->id;
|
event.drawable = pDrawable->id;
|
||||||
event.ust_hi = (CARD64)ust >> 32;
|
event.ust_hi = (CARD64)ust >> 32;
|
||||||
|
|
|
@ -341,7 +341,6 @@ ProcAppleWMSelectInput (register ClientPtr client)
|
||||||
void
|
void
|
||||||
AppleWMSendEvent (int type, unsigned int mask, int which, int arg) {
|
AppleWMSendEvent (int type, unsigned int mask, int which, int arg) {
|
||||||
WMEventPtr *pHead, pEvent;
|
WMEventPtr *pHead, pEvent;
|
||||||
ClientPtr client;
|
|
||||||
xAppleWMNotifyEvent se;
|
xAppleWMNotifyEvent se;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -349,15 +348,13 @@ AppleWMSendEvent (int type, unsigned int mask, int which, int arg) {
|
||||||
if (i != Success || !pHead)
|
if (i != Success || !pHead)
|
||||||
return;
|
return;
|
||||||
for (pEvent = *pHead; pEvent; pEvent = pEvent->next) {
|
for (pEvent = *pHead; pEvent; pEvent = pEvent->next) {
|
||||||
client = pEvent->client;
|
|
||||||
if ((pEvent->mask & mask) == 0)
|
if ((pEvent->mask & mask) == 0)
|
||||||
continue;
|
continue;
|
||||||
se.type = type + WMEventBase;
|
se.type = type + WMEventBase;
|
||||||
se.kind = which;
|
se.kind = which;
|
||||||
se.arg = arg;
|
se.arg = arg;
|
||||||
se.sequenceNumber = client->sequence;
|
|
||||||
se.time = currentTime.milliseconds;
|
se.time = currentTime.milliseconds;
|
||||||
WriteEventsToClient (client, 1, (xEvent *) &se);
|
WriteEventsToClient (pEvent->client, 1, (xEvent *) &se);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -192,22 +192,16 @@ static void surface_notify(
|
||||||
{
|
{
|
||||||
DRISurfaceNotifyArg *arg = _arg;
|
DRISurfaceNotifyArg *arg = _arg;
|
||||||
int client_index = (int) x_cvt_vptr_to_uint(data);
|
int client_index = (int) x_cvt_vptr_to_uint(data);
|
||||||
ClientPtr client;
|
|
||||||
xAppleDRINotifyEvent se;
|
xAppleDRINotifyEvent se;
|
||||||
|
|
||||||
if (client_index < 0 || client_index >= currentMaxClients)
|
if (client_index < 0 || client_index >= currentMaxClients)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
client = clients[client_index];
|
|
||||||
if (client == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
se.type = DRIEventBase + AppleDRISurfaceNotify;
|
se.type = DRIEventBase + AppleDRISurfaceNotify;
|
||||||
se.kind = arg->kind;
|
se.kind = arg->kind;
|
||||||
se.arg = arg->id;
|
se.arg = arg->id;
|
||||||
se.sequenceNumber = client->sequence;
|
|
||||||
se.time = currentTime.milliseconds;
|
se.time = currentTime.milliseconds;
|
||||||
WriteEventsToClient (client, 1, (xEvent *) &se);
|
WriteEventsToClient (clients[client_index], 1, (xEvent *) &se);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
|
@ -319,7 +319,6 @@ winWindowsWMSendEvent (int type, unsigned int mask, int which, int arg,
|
||||||
se.y = y;
|
se.y = y;
|
||||||
se.w = w;
|
se.w = w;
|
||||||
se.h = h;
|
se.h = h;
|
||||||
se.sequenceNumber = client->sequence;
|
|
||||||
se.time = currentTime.milliseconds;
|
se.time = currentTime.milliseconds;
|
||||||
WriteEventsToClient (client, 1, (xEvent *) &se);
|
WriteEventsToClient (client, 1, (xEvent *) &se);
|
||||||
}
|
}
|
||||||
|
|
|
@ -254,7 +254,6 @@ RRDeliverCrtcEvent (ClientPtr client, WindowPtr pWin, RRCrtcPtr crtc)
|
||||||
|
|
||||||
ce.type = RRNotify + RREventBase;
|
ce.type = RRNotify + RREventBase;
|
||||||
ce.subCode = RRNotify_CrtcChange;
|
ce.subCode = RRNotify_CrtcChange;
|
||||||
ce.sequenceNumber = client->sequence;
|
|
||||||
ce.timestamp = pScrPriv->lastSetTime.milliseconds;
|
ce.timestamp = pScrPriv->lastSetTime.milliseconds;
|
||||||
ce.window = pWin->drawable.id;
|
ce.window = pWin->drawable.id;
|
||||||
ce.crtc = crtc->id;
|
ce.crtc = crtc->id;
|
||||||
|
|
|
@ -337,7 +337,6 @@ RRDeliverOutputEvent(ClientPtr client, WindowPtr pWin, RROutputPtr output)
|
||||||
|
|
||||||
oe.type = RRNotify + RREventBase;
|
oe.type = RRNotify + RREventBase;
|
||||||
oe.subCode = RRNotify_OutputChange;
|
oe.subCode = RRNotify_OutputChange;
|
||||||
oe.sequenceNumber = client->sequence;
|
|
||||||
oe.timestamp = pScrPriv->lastSetTime.milliseconds;
|
oe.timestamp = pScrPriv->lastSetTime.milliseconds;
|
||||||
oe.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
|
oe.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
|
||||||
oe.window = pWin->drawable.id;
|
oe.window = pWin->drawable.id;
|
||||||
|
|
|
@ -40,7 +40,6 @@ DeliverPropertyEvent(WindowPtr pWin, void *value)
|
||||||
if (!(pRREvent->mask & RROutputPropertyNotifyMask))
|
if (!(pRREvent->mask & RROutputPropertyNotifyMask))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
event->sequenceNumber = pRREvent->client->sequence;
|
|
||||||
event->window = pRREvent->window->drawable.id;
|
event->window = pRREvent->window->drawable.id;
|
||||||
WriteEventsToClient(pRREvent->client, 1, (xEvent *)event);
|
WriteEventsToClient(pRREvent->client, 1, (xEvent *)event);
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,13 +102,11 @@ RRDeliverScreenEvent (ClientPtr client, WindowPtr pWin, ScreenPtr pScreen)
|
||||||
se.type = RRScreenChangeNotify + RREventBase;
|
se.type = RRScreenChangeNotify + RREventBase;
|
||||||
se.rotation = (CARD8) (crtc ? crtc->rotation : RR_Rotate_0);
|
se.rotation = (CARD8) (crtc ? crtc->rotation : RR_Rotate_0);
|
||||||
se.timestamp = pScrPriv->lastSetTime.milliseconds;
|
se.timestamp = pScrPriv->lastSetTime.milliseconds;
|
||||||
se.sequenceNumber = client->sequence;
|
|
||||||
se.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
|
se.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
|
||||||
se.root = pRoot->drawable.id;
|
se.root = pRoot->drawable.id;
|
||||||
se.window = pWin->drawable.id;
|
se.window = pWin->drawable.id;
|
||||||
se.subpixelOrder = PictureGetSubpixelOrder (pScreen);
|
se.subpixelOrder = PictureGetSubpixelOrder (pScreen);
|
||||||
|
|
||||||
se.sequenceNumber = client->sequence;
|
|
||||||
se.sizeID = RR10CurrentSizeID (pScreen);
|
se.sizeID = RR10CurrentSizeID (pScreen);
|
||||||
|
|
||||||
if (se.rotation & (RR_Rotate_90 | RR_Rotate_270)) {
|
if (se.rotation & (RR_Rotate_90 | RR_Rotate_270)) {
|
||||||
|
|
|
@ -169,7 +169,6 @@ CursorDisplayCursor (DeviceIntPtr pDev,
|
||||||
xXFixesCursorNotifyEvent ev;
|
xXFixesCursorNotifyEvent ev;
|
||||||
ev.type = XFixesEventBase + XFixesCursorNotify;
|
ev.type = XFixesEventBase + XFixesCursorNotify;
|
||||||
ev.subtype = XFixesDisplayCursorNotify;
|
ev.subtype = XFixesDisplayCursorNotify;
|
||||||
ev.sequenceNumber = e->pClient->sequence;
|
|
||||||
ev.window = e->pWindow->drawable.id;
|
ev.window = e->pWindow->drawable.id;
|
||||||
ev.cursorSerial = pCursor->serialNumber;
|
ev.cursorSerial = pCursor->serialNumber;
|
||||||
ev.timestamp = currentTime.milliseconds;
|
ev.timestamp = currentTime.milliseconds;
|
||||||
|
|
|
@ -85,7 +85,6 @@ XFixesSelectionCallback (CallbackListPtr *callbacks, pointer data, pointer args)
|
||||||
memset(&ev, 0, sizeof(xXFixesSelectionNotifyEvent));
|
memset(&ev, 0, sizeof(xXFixesSelectionNotifyEvent));
|
||||||
ev.type = XFixesEventBase + XFixesSelectionNotify;
|
ev.type = XFixesEventBase + XFixesSelectionNotify;
|
||||||
ev.subtype = subtype;
|
ev.subtype = subtype;
|
||||||
ev.sequenceNumber = e->pClient->sequence;
|
|
||||||
ev.window = e->pWindow->drawable.id;
|
ev.window = e->pWindow->drawable.id;
|
||||||
if (subtype == XFixesSetSelectionOwnerNotify)
|
if (subtype == XFixesSetSelectionOwnerNotify)
|
||||||
ev.owner = selection->window;
|
ev.owner = selection->window;
|
||||||
|
|
|
@ -102,7 +102,6 @@ XkbSendLegacyMapNotify(DeviceIntPtr kbd, CARD16 xkb_event, CARD16 changed,
|
||||||
if (!XIShouldNotify(clients[i], kbd))
|
if (!XIShouldNotify(clients[i], kbd))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
core_mn.u.u.sequenceNumber = clients[i]->sequence;
|
|
||||||
if (keymap_changed) {
|
if (keymap_changed) {
|
||||||
core_mn.u.mappingNotify.request = MappingKeyboard;
|
core_mn.u.mappingNotify.request = MappingKeyboard;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user