diff options
Diffstat (limited to 'xorg-server/xfixes/select.c')
-rw-r--r-- | xorg-server/xfixes/select.c | 23 |
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); } } |