aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2022-07-06 16:31:54 +0800
committerPo Lu2022-07-06 16:32:02 +0800
commite6504c3eda12c72268d2db6598764f043b74c24d (patch)
tree8dd65640ea06dca1b3705eb986a6325024a49718 /src
parent939dc2ff126dbca1f1c31989f2c11a4fdc35648c (diff)
downloademacs-e6504c3eda12c72268d2db6598764f043b74c24d.tar.gz
emacs-e6504c3eda12c72268d2db6598764f043b74c24d.zip
Stop synchronizing after sending XEmbed events
* src/xterm.c (xembed_send_message): Don't sync and handle errors, which is actually why the XSync call in the spec exists.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 0180ea3c788..225c45ff7cb 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -25208,9 +25208,14 @@ xembed_send_message (struct frame *f, Time t, enum xembed_message msg,
25208 event.xclient.data.l[3] = data1; 25208 event.xclient.data.l[3] = data1;
25209 event.xclient.data.l[4] = data2; 25209 event.xclient.data.l[4] = data2;
25210 25210
25211 /* XXX: the XEmbed spec tells us to trap errors around this request,
25212 but I don't understand why: there is no way for clients to
25213 survive the death of the parent anyway. */
25214
25215 x_ignore_errors_for_next_request (FRAME_DISPLAY_INFO (f));
25211 XSendEvent (FRAME_X_DISPLAY (f), FRAME_X_OUTPUT (f)->parent_desc, 25216 XSendEvent (FRAME_X_DISPLAY (f), FRAME_X_OUTPUT (f)->parent_desc,
25212 False, NoEventMask, &event); 25217 False, NoEventMask, &event);
25213 XSync (FRAME_X_DISPLAY (f), False); 25218 x_stop_ignoring_errors (FRAME_DISPLAY_INFO (f));
25214} 25219}
25215 25220
25216/* Change of visibility. */ 25221/* Change of visibility. */