Use WriteEventsToClient rather than TryClientEvents where possible.
If filter is NoEventMask (aka CantBeFiltered), grab is null, and the first event is not in the set of "critical events", then TryClientEvents simply calls WriteEventsToClient. In that case, it returns 0 for fake or dead clients, and 1 otherwise. Inline for this special case. 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
8033fb6c97
commit
90e612dcbe
|
@ -535,8 +535,7 @@ XvdiSendVideoNotify(XvPortPtr pPort, DrawablePtr pDraw, int reason)
|
|||
event.u.videoNotify.drawable = pDraw->id;
|
||||
event.u.videoNotify.port = pPort->id;
|
||||
event.u.videoNotify.reason = reason;
|
||||
TryClientEvents(pn->client, NULL, (xEventPtr)&event, 1,
|
||||
NoEventMask, NoEventMask, NullGrab);
|
||||
WriteEventsToClient(pn->client, 1, (xEventPtr)&event);
|
||||
pn = pn->next;
|
||||
}
|
||||
|
||||
|
@ -563,8 +562,7 @@ XvdiSendPortNotify(
|
|||
event.u.portNotify.port = pPort->id;
|
||||
event.u.portNotify.attribute = attribute;
|
||||
event.u.portNotify.value = value;
|
||||
TryClientEvents(pn->client, NULL, (xEventPtr)&event, 1,
|
||||
NoEventMask, NoEventMask, NullGrab);
|
||||
WriteEventsToClient(pn->client, 1, (xEventPtr)&event);
|
||||
pn = pn->next;
|
||||
}
|
||||
|
||||
|
|
|
@ -189,8 +189,7 @@ ProcSetSelectionOwner(ClientPtr client)
|
|||
event.u.selectionClear.time = time.milliseconds;
|
||||
event.u.selectionClear.window = pSel->window;
|
||||
event.u.selectionClear.atom = pSel->selection;
|
||||
TryClientEvents(pSel->client, NULL, &event, 1, NoEventMask,
|
||||
NoEventMask /* CantBeFiltered */, NullGrab);
|
||||
WriteEventsToClient(pSel->client, 1, &event);
|
||||
}
|
||||
}
|
||||
else if (rc == BadMatch)
|
||||
|
@ -296,9 +295,11 @@ ProcConvertSelection(ClientPtr client)
|
|||
event.u.selectionRequest.selection = stuff->selection;
|
||||
event.u.selectionRequest.target = stuff->target;
|
||||
event.u.selectionRequest.property = stuff->property;
|
||||
if (TryClientEvents(pSel->client, NULL, &event, 1, NoEventMask,
|
||||
NoEventMask /* CantBeFiltered */, NullGrab))
|
||||
if (pSel->client && pSel->client != serverClient && !pSel->client->clientGone)
|
||||
{
|
||||
WriteEventsToClient(pSel->client, 1, &event);
|
||||
return Success;
|
||||
}
|
||||
}
|
||||
|
||||
event.u.u.type = SelectionNotify;
|
||||
|
@ -307,7 +308,6 @@ ProcConvertSelection(ClientPtr client)
|
|||
event.u.selectionNotify.selection = stuff->selection;
|
||||
event.u.selectionNotify.target = stuff->target;
|
||||
event.u.selectionNotify.property = None;
|
||||
TryClientEvents(client, NULL, &event, 1, NoEventMask,
|
||||
NoEventMask /* CantBeFiltered */, NullGrab);
|
||||
WriteEventsToClient(client, 1, &event);
|
||||
return Success;
|
||||
}
|
||||
|
|
|
@ -374,6 +374,8 @@ miSendGraphicsExpose (ClientPtr client, RegionPtr pRgn, XID drawable,
|
|||
pe->u.graphicsExposure.majorEvent = major;
|
||||
pe->u.graphicsExposure.minorEvent = minor;
|
||||
}
|
||||
/* GraphicsExpose is a "critical event", which TryClientEvents
|
||||
* handles specially. */
|
||||
TryClientEvents(client, NULL, pEvent, numRects,
|
||||
(Mask)0, NoEventMask, NullGrab);
|
||||
free(pEvent);
|
||||
|
@ -386,8 +388,7 @@ miSendGraphicsExpose (ClientPtr client, RegionPtr pRgn, XID drawable,
|
|||
event.u.noExposure.drawable = drawable;
|
||||
event.u.noExposure.majorEvent = major;
|
||||
event.u.noExposure.minorEvent = minor;
|
||||
TryClientEvents(client, NULL, &event, 1,
|
||||
(Mask)0, NoEventMask, NullGrab);
|
||||
WriteEventsToClient(client, 1, &event);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user