/* 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;