aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2010-11-21 19:39:42 -0500
committerChong Yidong2010-11-21 19:39:42 -0500
commit96ad0af7411d61d6ae3e7afcab1b3996dd0ef1d4 (patch)
tree39cc1bb7d2bf61088111a776c76129f08564d989 /src/alloc.c
parentf102b34567441421ca647afff52943a225f8062a (diff)
downloademacs-96ad0af7411d61d6ae3e7afcab1b3996dd0ef1d4.tar.gz
emacs-96ad0af7411d61d6ae3e7afcab1b3996dd0ef1d4.zip
Fix image cache marking bug (Bug#6301).
* src/alloc.c (mark_terminals): Ensure that the image cache is marked even if the terminal object was marked earlier (Bug#6301).
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/alloc.c b/src/alloc.c
index da63fe0f82b..4d19d3ac479 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -5771,13 +5771,14 @@ mark_terminals (void)
5771 for (t = terminal_list; t; t = t->next_terminal) 5771 for (t = terminal_list; t; t = t->next_terminal)
5772 { 5772 {
5773 eassert (t->name != NULL); 5773 eassert (t->name != NULL);
5774 if (!VECTOR_MARKED_P (t))
5775 {
5776#ifdef HAVE_WINDOW_SYSTEM 5774#ifdef HAVE_WINDOW_SYSTEM
5777 mark_image_cache (t->image_cache); 5775 /* If a terminal object is reachable from a stacpro'ed object,
5776 it might have been marked already. Make sure the image cache
5777 gets marked. */
5778 mark_image_cache (t->image_cache);
5778#endif /* HAVE_WINDOW_SYSTEM */ 5779#endif /* HAVE_WINDOW_SYSTEM */
5779 mark_vectorlike ((struct Lisp_Vector *)t); 5780 if (!VECTOR_MARKED_P (t))
5780 } 5781 mark_vectorlike ((struct Lisp_Vector *)t);
5781 } 5782 }
5782} 5783}
5783 5784