mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-31 17:30:54 -08:00
Prevent race conditions with async input during drag-and-drop
* src/xterm.c (XTread_socket): Don't read events here during drag-and-drop, otherwise the right hold_quit might not be used for selection events.
This commit is contained in:
parent
6815db492f
commit
5ad6a08a2e
1 changed files with 7 additions and 0 deletions
|
|
@ -18968,6 +18968,13 @@ XTread_socket (struct terminal *terminal, struct input_event *hold_quit)
|
|||
bool event_found = false;
|
||||
struct x_display_info *dpyinfo = terminal->display_info.x;
|
||||
|
||||
/* Don't allow XTread_socket to do anything if drag-and-drop is in
|
||||
progress. If unblock_input causes XTread_socket to be called and
|
||||
read X events while the drag-and-drop event loop is in progress,
|
||||
things can go wrong very quick. */
|
||||
if (x_dnd_in_progress || x_dnd_waiting_for_finish)
|
||||
return 0;
|
||||
|
||||
block_input ();
|
||||
|
||||
/* For debugging, this gives a way to fake an I/O error. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue