summaryrefslogtreecommitdiff
path: root/src/xterm.c
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2004-08-24 17:22:33 +0000
committerJan Djärv <jan.h.d@swipnet.se>2004-08-24 17:22:33 +0000
commit2728b5d02c0686c40c49aebd00f7d5520b371aed (patch)
tree32e158f7f709f7a4a401d0816b83cb3fff93540c /src/xterm.c
parent10b43ac3fd25e09cfe100497d88e1ddb9f040770 (diff)
downloademacs-2728b5d02c0686c40c49aebd00f7d5520b371aed.tar.gz
* xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
Diffstat (limited to 'src/xterm.c')
-rw-r--r--src/xterm.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 5e6a236c4be..c1bfd11985e 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7604,11 +7604,13 @@ static Lisp_Object
x_catch_errors_unwind (old_val)
Lisp_Object old_val;
{
- Lisp_Object first;
+ Lisp_Object first = XCAR (old_val);
+ Display *dpy = XSAVE_VALUE (first)->pointer;
- first = XCAR (old_val);
-
- XSync (XSAVE_VALUE (first)->pointer, False);
+ /* The display may have been closed before this function is called.
+ Check if it is still open before calling XSync. */
+ if (x_display_info_for_display (dpy) != 0)
+ XSync (dpy, False);
x_error_message_string = XCDR (old_val);
return Qnil;