]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix killing Emacs upon display disconnect
authorPo Lu <luangruo@yahoo.com>
Thu, 14 Jul 2022 03:47:00 +0000 (11:47 +0800)
committerPo Lu <luangruo@yahoo.com>
Thu, 14 Jul 2022 03:47:00 +0000 (11:47 +0800)
* src/xterm.c (x_connection_closed): On Xt builds terminals can
be left alive without any frames on them, so take that into
account.  (bug#56528)

src/xterm.c

index 3dfbe111d3f06f0893f9f1e0f64eacf970319d78..1d0e69d32bc2f5d5f8fa17cd65fb56d9723cb1ed 100644 (file)
@@ -23531,7 +23531,11 @@ For details, see etc/PROBLEMS.\n",
 
   unblock_input ();
 
-  if (terminal_list == 0)
+  /* Sometimes another terminal is still alive, but deleting this
+     terminal caused all frames to vanish.  In that case, simply kill
+     Emacs, since the next redisplay will abort as there is no more
+     selected frame.  (bug#56528) */
+  if (terminal_list == 0 || NILP (selected_frame))
     Fkill_emacs (make_fixnum (70), Qnil);
 
   totally_unblock_input ();