[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master e52159d0dc: Let XTread_socket read events for all non-DND display
From: |
Po Lu |
Subject: |
master e52159d0dc: Let XTread_socket read events for all non-DND displays |
Date: |
Mon, 16 May 2022 21:22:12 -0400 (EDT) |
branch: master
commit e52159d0dc45bf0a7f363c8a4cf2a490094e970b
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Let XTread_socket read events for all non-DND displays
* src/xterm.c (XTread_socket): Allow reading events from
displays other than the DND display during drag-and-drop.
---
src/xterm.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/xterm.c b/src/xterm.c
index 181b6c2ec3..f81d99ca12 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -20134,8 +20134,14 @@ XTread_socket (struct terminal *terminal, struct
input_event *hold_quit)
/* 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)
+ things can go wrong very quick.
+
+ That doesn't matter for events from displays other than the
+ display of the drag-and-drop operation, though. */
+ if ((x_dnd_in_progress
+ && dpyinfo->display == FRAME_X_DISPLAY (x_dnd_frame))
+ || (x_dnd_waiting_for_finish
+ && dpyinfo->display == x_dnd_finish_display))
return 0;
block_input ();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master e52159d0dc: Let XTread_socket read events for all non-DND displays,
Po Lu <=