* src/xselect.c: ICCCM-compliant handling of MULTIPLE targets.
authorChong Yidong <cyd@stupidchicken.com>
Thu, 26 May 2011 17:42:32 +0000 (13:42 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Thu, 26 May 2011 17:42:32 +0000 (13:42 -0400)
commite067f0c10d0c717d7505d3ccd44bc2f906af7180
tree18917237d1fcedb1d90e495cf286e8bd5cca19dc
parent2d3ba9e768fe3b96c5ea98c900677bed1ccdeffe
* src/xselect.c: ICCCM-compliant handling of MULTIPLE targets.
(converted_selections, conversion_fail_tag): New global variables.
(x_selection_request_lisp_error): Free the above.
(x_get_local_selection): Remove unnecessary code.
(x_reply_selection_request): Args changed; handle arbitrary array
of converted selections stored in converted_selections.  Separate
the XChangeProperty and SelectionNotify steps.
(x_handle_selection_request): Rewrite to handle MULTIPLE target.
(x_convert_selection): New function.
(x_handle_selection_event): Simplify.
(x_get_foreign_selection): Don't ignore incoming requests while
waiting for an answer; this will fail when we implement
SAVE_TARGETS, and seems unnecessary anyway.
(selection_data_to_lisp_data): Recognize ATOM_PAIR type.
(Vx_sent_selection_functions): Doc fix.
src/ChangeLog
src/xselect.c