diff options
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/alloc.c b/src/alloc.c index 28636ec776c..a1c78a408d9 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -5643,13 +5643,14 @@ mark_terminals (void) | |||
| 5643 | for (t = terminal_list; t; t = t->next_terminal) | 5643 | for (t = terminal_list; t; t = t->next_terminal) |
| 5644 | { | 5644 | { |
| 5645 | eassert (t->name != NULL); | 5645 | eassert (t->name != NULL); |
| 5646 | if (!VECTOR_MARKED_P (t)) | ||
| 5647 | { | ||
| 5648 | #ifdef HAVE_WINDOW_SYSTEM | 5646 | #ifdef HAVE_WINDOW_SYSTEM |
| 5649 | mark_image_cache (t->image_cache); | 5647 | /* If a terminal object is reachable from a stacpro'ed object, |
| 5648 | it might have been marked already. Make sure the image cache | ||
| 5649 | gets marked. */ | ||
| 5650 | mark_image_cache (t->image_cache); | ||
| 5650 | #endif /* HAVE_WINDOW_SYSTEM */ | 5651 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 5651 | mark_vectorlike ((struct Lisp_Vector *)t); | 5652 | if (!VECTOR_MARKED_P (t)) |
| 5652 | } | 5653 | mark_vectorlike ((struct Lisp_Vector *)t); |
| 5653 | } | 5654 | } |
| 5654 | } | 5655 | } |
| 5655 | 5656 | ||