summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/frame.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/frame.c b/src/frame.c
index 5099f75be4d..6e0c51b2f5f 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -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;