emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100233: Fix image cache marking b


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100233: Fix image cache marking bug (Bug#6301).
Date: Sun, 21 Nov 2010 19:39:42 -0500
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100233
author: YAMAMOTO Mitsuharu <address@hidden>
committer: Chong Yidong <address@hidden>
branch nick: emacs-23
timestamp: Sun 2010-11-21 19:39:42 -0500
message:
  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).
modified:
  src/ChangeLog
  src/alloc.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-11-21 18:16:19 +0000
+++ b/src/ChangeLog     2010-11-22 00:39:42 +0000
@@ -1,3 +1,8 @@
+2010-11-22  YAMAMOTO Mitsuharu  <address@hidden>
+
+       * 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  <address@hidden>
 
        * editfns.c (Fbyte_to_string): Signal an error arg is not a byte.

=== modified file 'src/alloc.c'
--- a/src/alloc.c       2010-06-26 18:47:35 +0000
+++ b/src/alloc.c       2010-11-22 00:39:42 +0000
@@ -5771,13 +5771,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);
     }
 }
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]