aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xfixes/select.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xfixes/select.c')
-rw-r--r--xorg-server/xfixes/select.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/xorg-server/xfixes/select.c b/xorg-server/xfixes/select.c
index a896846a7..ee8ed6f68 100644
--- a/xorg-server/xfixes/select.c
+++ b/xorg-server/xfixes/select.c
@@ -77,19 +77,16 @@ XFixesSelectionCallback(CallbackListPtr *callbacks, pointer data, pointer args)
}
for (e = selectionEvents; e; e = e->next) {
if (e->selection == selection->selection && (e->eventMask & eventMask)) {
- xXFixesSelectionNotifyEvent ev;
-
- memset(&ev, 0, sizeof(xXFixesSelectionNotifyEvent));
- ev.type = XFixesEventBase + XFixesSelectionNotify;
- ev.subtype = subtype;
- ev.window = e->pWindow->drawable.id;
- if (subtype == XFixesSetSelectionOwnerNotify)
- ev.owner = selection->window;
- else
- ev.owner = 0;
- ev.selection = e->selection;
- ev.timestamp = currentTime.milliseconds;
- ev.selectionTimestamp = selection->lastTimeChanged.milliseconds;
+ xXFixesSelectionNotifyEvent ev = {
+ .type = XFixesEventBase + XFixesSelectionNotify,
+ .subtype = subtype,
+ .window = e->pWindow->drawable.id,
+ .owner = (subtype == XFixesSetSelectionOwnerNotify) ?
+ selection->window : 0,
+ .selection = e->selection,
+ .timestamp = currentTime.milliseconds,
+ .selectionTimestamp = selection->lastTimeChanged.milliseconds
+ };
WriteEventsToClient(e->pClient, 1, (xEvent *) &ev);
}
}