diff options
| author | Po Lu | 2022-07-06 16:31:54 +0800 |
|---|---|---|
| committer | Po Lu | 2022-07-06 16:32:02 +0800 |
| commit | e6504c3eda12c72268d2db6598764f043b74c24d (patch) | |
| tree | 8dd65640ea06dca1b3705eb986a6325024a49718 /src | |
| parent | 939dc2ff126dbca1f1c31989f2c11a4fdc35648c (diff) | |
| download | emacs-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.c | 7 |
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. */ |