# HG changeset patch # User Richard M. Stallman # Date 791751339 0 # Node ID c807d6c947dec64a704e3ebfe398ecbdfe0193f0 # Parent de7beeb9f02cdcbbb35a0e28f6b25a8a71adac20 (kbd_buffer_get_event, swallow_events): Remove selection_request event from input queue before processing it. diff -r de7beeb9f02c -r c807d6c947de src/keyboard.c --- a/src/keyboard.c Thu Feb 02 18:54:47 1995 +0000 +++ b/src/keyboard.c Thu Feb 02 18:55:39 1995 +0000 @@ -2142,8 +2142,12 @@ if (event->kind == selection_request_event) { #ifdef HAVE_X11 - x_handle_selection_request (event); + struct input_event copy = *event; + /* Remove it from the buffer before processing it, + since otherwise swallow_events will see it + and process it again. */ perd->kbd_fetch_ptr = event + 1; + x_handle_selection_request (©); #else /* We're getting selection request events, but we don't have a window system. */ @@ -2319,8 +2323,10 @@ if (event->kind == selection_request_event) { #ifdef HAVE_X11 - x_handle_selection_request (event); + struct input_event copy; + copy = *event; perd->kbd_fetch_ptr = event + 1; + x_handle_selection_request (©); #else /* We're getting selection request events, but we don't have a window system. */