# HG changeset patch # User Jan Dj¸«£rv # Date 1093368153 0 # Node ID 1dac05def6d892b1d7510b21618aa858cc07cbf0 # Parent c54fa35b4deddf31d7de64728c9801e864f3ae72 * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed. diff -r c54fa35b4ded -r 1dac05def6d8 src/ChangeLog --- a/src/ChangeLog Tue Aug 24 10:54:39 2004 +0000 +++ b/src/ChangeLog Tue Aug 24 17:22:33 2004 +0000 @@ -1,5 +1,7 @@ 2004-08-24 Jan Dj,Ad(Brv + * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed. + * xfns.c (x_window_to_frame, x_any_window_to_frame) (x_non_menubar_window_to_frame, x_menubar_window_to_frame) (x_top_window_to_frame): Return 0 if wdesc is None. diff -r c54fa35b4ded -r 1dac05def6d8 src/xterm.c --- a/src/xterm.c Tue Aug 24 10:54:39 2004 +0000 +++ b/src/xterm.c Tue Aug 24 17:22:33 2004 +0000 @@ -7604,11 +7604,13 @@ x_catch_errors_unwind (old_val) Lisp_Object old_val; { - Lisp_Object first; - - first = XCAR (old_val); - - XSync (XSAVE_VALUE (first)->pointer, False); + Lisp_Object first = XCAR (old_val); + Display *dpy = XSAVE_VALUE (first)->pointer; + + /* 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;