]> git.eshelyaron.com Git - emacs.git/commitdiff
(x_connection_closed): For GTK: If this is the last
authorJan Djärv <jan.h.d@swipnet.se>
Tue, 11 Mar 2008 07:35:20 +0000 (07:35 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Tue, 11 Mar 2008 07:35:20 +0000 (07:35 +0000)
terminal just exit without closing the display.

src/ChangeLog
src/xterm.c

index 3f0c3246c33e46d145b2c88c906c04568ea2fb90..5a5e9ef48fdbff20ff0877bd4c9a251f96fe59f1 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-11  Jan Dj\e$(Q)Z\e(Brv  <jan.h.d@swipnet.se>
+
+       * xterm.c (x_connection_closed): For GTK: If this is the last
+       terminal just exit without closing the display.
+
 2008-03-11  Jason Rumney  <jasonr@gnu.org>
 
        * w32font.c (w32font_full_name): Use floor to round.
index 5496dbaca3208e4d2da52e51b89ae22e17b750c8..c09257c6ddaaf75ce85d0ca512e38352045388f5 100644 (file)
@@ -8110,7 +8110,7 @@ x_connection_closed (dpy, error_message)
      OpenWindows in certain situations.  I suspect that is a bug
      in OpenWindows.  I don't know how to circumvent it here.  */
 
-  if (dpyinfo)
+  if (dpyinfo && terminal_list->next_terminal != NULL)
     {
 #ifdef USE_X_TOOLKIT
       /* If DPYINFO is null, this means we didn't open the display
@@ -8124,6 +8124,14 @@ x_connection_closed (dpy, error_message)
 #endif
 
 #ifdef USE_GTK
+      /* Due to bugs in some Gtk+ versions, just exit here if this
+         is the last display/terminal. */
+      if (terminal_list->next_terminal == NULL)
+        {
+          fprintf (stderr, "%s\n", error_msg);
+          shut_down_emacs (0, 0, Qnil);
+          exit (70);
+        }
       xg_display_close (dpyinfo->display);
 #endif