]> git.eshelyaron.com Git - emacs.git/commit
Handle errors while sending client events asynchronously
authorPo Lu <luangruo@yahoo.com>
Sun, 26 Jun 2022 02:20:35 +0000 (10:20 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 26 Jun 2022 02:20:35 +0000 (10:20 +0800)
commitc2e07f2258a157718ee868c7f3d3c30de56cd9f7
tree0d9872deb478e4dedd6ac1a1c8981be3a3fc5790
parent78c0c8673bba086842ef9ea57f44f446558e5ebf
Handle errors while sending client events asynchronously

* src/xterm.c (xm_send_drop_message)
(xm_send_top_level_enter_message, xm_send_drag_motion_message)
(xm_send_top_level_leave_message, x_dnd_send_enter)
(x_dnd_send_position, x_dnd_send_leave, x_dnd_send_drop): Avoid
sync to check for errors while sending client events.
(x_dnd_begin_drag_and_drop, handle_one_xevent, XTread_socket):
Clean up failable requests.
(x_request_can_fail): New functions.
(x_clean_failable_requests, x_ignore_errors_for_next_request)
(x_uncatch_errors): Clean up failable requests.
(x_error_handler): If a request is allowed to fail, just return.
(x_term_init): Set up new pointer.
* src/xterm.h (N_FAILABLE_REQUESTS): New macro.
(struct x_display_info): New field `failable_requests' and
associated next pointer.
src/xterm.c
src/xterm.h