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).
This commit is contained in:
parent
f102b34567
commit
96ad0af741
2 changed files with 11 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
2010-11-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* alloc.c (mark_terminals): Ensure that the image cache is marked
|
||||
even if the terminal object was marked earlier (Bug#6301).
|
||||
|
||||
2010-11-21 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* editfns.c (Fbyte_to_string): Signal an error arg is not a byte.
|
||||
|
|
11
src/alloc.c
11
src/alloc.c
|
@ -5771,13 +5771,14 @@ mark_terminals (void)
|
|||
for (t = terminal_list; t; t = t->next_terminal)
|
||||
{
|
||||
eassert (t->name != NULL);
|
||||
if (!VECTOR_MARKED_P (t))
|
||||
{
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
mark_image_cache (t->image_cache);
|
||||
/* If a terminal object is reachable from a stacpro'ed object,
|
||||
it might have been marked already. Make sure the image cache
|
||||
gets marked. */
|
||||
mark_image_cache (t->image_cache);
|
||||
#endif /* HAVE_WINDOW_SYSTEM */
|
||||
mark_vectorlike ((struct Lisp_Vector *)t);
|
||||
}
|
||||
if (!VECTOR_MARKED_P (t))
|
||||
mark_vectorlike ((struct Lisp_Vector *)t);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue