From 31df61d66239245c68d85d1bb485539034782bec Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 17 Feb 2005 12:50:08 +0000 Subject: [PATCH] (Fx_disown_selection_internal): Use union of struct input_event and struct selection_input_event to avoid aliasing issues. --- src/xselect.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/xselect.c b/src/xselect.c index 8d8efd8db8a..a49b6b89ee4 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -2189,7 +2189,10 @@ Disowning it means there is no such selection. */) { Time timestamp; Atom selection_atom; - struct selection_input_event event; + union { + struct selection_input_event sie; + struct input_event ie; + } event; Display *display; struct x_display_info *dpyinfo; struct frame *sf = SELECTED_FRAME (); @@ -2217,10 +2220,10 @@ Disowning it means there is no such selection. */) the selection owner to None. The NCD server does, the MIT Sun4 server doesn't. So we synthesize one; this means we might get two, but that's ok, because the second one won't have any effect. */ - SELECTION_EVENT_DISPLAY (&event) = display; - SELECTION_EVENT_SELECTION (&event) = selection_atom; - SELECTION_EVENT_TIME (&event) = timestamp; - x_handle_selection_clear ((struct input_event *) &event); + SELECTION_EVENT_DISPLAY (&event.sie) = display; + SELECTION_EVENT_SELECTION (&event.sie) = selection_atom; + SELECTION_EVENT_TIME (&event.sie) = timestamp; + x_handle_selection_clear (&event.ie); return Qt; } -- 2.39.2