]> git.eshelyaron.com Git - emacs.git/commitdiff
In delete_frame do not delete terminal for any toolkit build
authorMartin Rudalics <rudalics@gmx.at>
Sun, 3 Sep 2017 09:30:16 +0000 (11:30 +0200)
committerMartin Rudalics <rudalics@gmx.at>
Sun, 3 Sep 2017 09:30:16 +0000 (11:30 +0200)
* src/frame.c (delete_frame): Neither delete terminal for
non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
Bug#27816).

src/frame.c

index 5099f75be4d9d6e1d6b7dcebe86f462f1d474820..6e0c51b2f5f7503894a5872862f9c22ca6449b04 100644 (file)
@@ -2026,13 +2026,17 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
     /* If needed, delete the terminal that this frame was on.
        (This must be done after the frame is killed.)  */
     terminal->reference_count--;
-#ifdef USE_GTK
+#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
     /* FIXME: Deleting the terminal crashes emacs because of a GTK
        bug.
        http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00363.html */
+
+    /* Since a similar behavior was observed on the Lucid and Motif
+       builds (see Bug#5802, Bug#21509, Bug#23499, Bug#27816), we now
+       don't delete the terminal for these builds either.  */
     if (terminal->reference_count == 0 && terminal->type == output_x_window)
       terminal->reference_count = 1;
-#endif /* USE_GTK */
+#endif /* USE_X_TOOLKIT || USE_GTK */
     if (terminal->reference_count == 0)
       {
        Lisp_Object tmp;