From d577d1609c6c9d11b6af30a33e02bb21ffa821fd Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Sun, 3 Sep 2017 11:30:16 +0200 Subject: [PATCH] In delete_frame do not delete terminal for any toolkit build * src/frame.c (delete_frame): Neither delete terminal for non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499, Bug#27816). --- src/frame.c | 8 ++++++-- 1 file 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; -- 2.39.2