]> git.eshelyaron.com Git - emacs.git/commit
* xselect.c (struct selection_event_queue, selection_queue)
authorKim F. Storm <storm@cua.dk>
Fri, 5 Nov 2004 11:30:31 +0000 (11:30 +0000)
committerKim F. Storm <storm@cua.dk>
Fri, 5 Nov 2004 11:30:31 +0000 (11:30 +0000)
commitdd0fe424b211c09aae652be0179b6c1658d98776
tree3ff106073e5eee5055b475046a47f9851693cc9c
parent87d78665be8f47e32768d30d84ce421dc216c9d0
* xselect.c (struct selection_event_queue, selection_queue)
(x_queue_selection_requests, x_queue_event)
(x_start_queuing_selection_requests)
(x_stop_queuing_selection_requests): Add new queue for selection
input events to replace previous XEvent queue in xterm.c.
(queue_selection_requests_unwind): Adapt to new queue.
(x_reply_selection_request): Adapt to new queue.  Unexpect
wait_object in case of x errors (memory leak).
(x_handle_selection_request, x_handle_selection_clear): Make static.
(x_handle_selection_event): New function.  May queue selection events.
(wait_for_property_change_unwind): Use save_value instead of cons.
Clear property_change_reply_object.
(wait_for_property_change): Abort if already waiting.
Use save_value instead of cons for unwind data.
(x_handle_property_notify): Skip events already arrived, but don't
free them, as "arrived" field is checked by wait_for_property_change,
and it will be freed by unwind or explicit unexpect_property_change.
(x_get_foreign_selection): Add to new queue.
(receive_incremental_selection): Don't unexpect wait_object when done
as it has already been freed by previous wait_for_property_change.
src/xselect.c