diff src/alloc.c @ 111779:141d3f14d8c3

Merge changes from emacs-23 branch
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 27 Nov 2010 15:04:57 -0500
parents f736e5e4fef4 0813efd37bf9
children a5a188ddc758
line wrap: on
line diff
--- a/src/alloc.c	Sat Nov 27 10:40:19 2010 +0200
+++ b/src/alloc.c	Sat Nov 27 15:04:57 2010 -0500
@@ -5643,13 +5643,14 @@
   for (t = terminal_list; t; t = t->next_terminal)
     {
       eassert (t->name != NULL);
+#ifdef HAVE_WINDOW_SYSTEM
+      /* 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 */
       if (!VECTOR_MARKED_P (t))
-	{
-#ifdef HAVE_WINDOW_SYSTEM
-	  mark_image_cache (t->image_cache);
-#endif /* HAVE_WINDOW_SYSTEM */
-	  mark_vectorlike ((struct Lisp_Vector *)t);
-	}
+	mark_vectorlike ((struct Lisp_Vector *)t);
     }
 }