summaryrefslogtreecommitdiff
path: root/src/dispnew.c
diff options
context:
space:
mode:
authorMartin Rudalics <rudalics@gmx.at>2017-12-15 08:30:09 +0100
committerMartin Rudalics <rudalics@gmx.at>2017-12-15 08:30:09 +0100
commit9bf66c6beec81927e960d31e78b7b3bad060c63e (patch)
treee7d32b780d973fb3ea84e7d86aa6fa2a9ee63036 /src/dispnew.c
parentc2a88ec8e8f3246c0f5051b208337205f7f96cca (diff)
downloademacs-9bf66c6beec81927e960d31e78b7b3bad060c63e.tar.gz
Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
This does not fix Bug#29961 but avoids that Emacs segfaults when trying to shut down because it lost connection to the X server. * src/dispnew.c (check_glyph_memory): * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961).
Diffstat (limited to 'src/dispnew.c')
-rw-r--r--src/dispnew.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dispnew.c b/src/dispnew.c
index b0fc5c31fa1..d07864718c3 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -2260,8 +2260,9 @@ check_glyph_memory (void)
Lisp_Object tail, frame;
/* Free glyph memory for all frames. */
- FOR_EACH_FRAME (tail, frame)
- free_glyphs (XFRAME (frame));
+ if (!NILP (Vframe_list))
+ FOR_EACH_FRAME (tail, frame)
+ free_glyphs (XFRAME (frame));
#if defined GLYPH_DEBUG && defined ENABLE_CHECKING
/* Check that nothing is left allocated. */