Fix potential crash deselecting for property change notifications

* src/xselect.c (x_cancel_selection_transfer): Catch errors
around XSelectInput.
This commit is contained in:
Po Lu 2022-12-04 21:54:52 +08:00
parent a51743dbcb
commit 3e00e50ee3

View file

@ -794,8 +794,16 @@ x_cancel_selection_transfer (struct transfer *transfer)
transfer->requestor)
/* This can be called from x_delete_display. */
&& transfer->dpyinfo->display)
XSelectInput (transfer->dpyinfo->display,
transfer->requestor, NoEventMask);
{
/* Ignore errors generated by the change window request in case
the window has gone away. */
block_input ();
x_ignore_errors_for_next_request (transfer->dpyinfo);
XSelectInput (transfer->dpyinfo->display,
transfer->requestor, NoEventMask);
x_stop_ignoring_errors (transfer->dpyinfo);
unblock_input ();
}
cancel_atimer (transfer->timeout);
xfree (transfer);