* alloc.c (mark_object) [HAVE_WINDOW_SYSTEM]: If marked frame
is a live window system frame, mark it's default font too.
+2013-10-23 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Tweak last font-related changes to fix bug#15686.
+ * alloc.c (mark_object) [HAVE_WINDOW_SYSTEM]: If marked frame
+ is a live window system frame, mark it's default font too.
+
2013-10-23 Glenn Morris <rgm@gnu.org>
* Makefile.in (RUN_TEMACS): Make relative (again).
break;
case PVEC_FRAME:
- mark_vectorlike (ptr);
- mark_face_cache (((struct frame *) ptr)->face_cache);
+ {
+ struct frame *f = (struct frame *) ptr;
+
+ mark_vectorlike (ptr);
+ mark_face_cache (f->face_cache);
+#ifdef HAVE_WINDOW_SYSTEM
+ if (FRAME_WINDOW_P (f) && FRAME_X_OUTPUT (f))
+ {
+ struct font *font = FRAME_FONT (f);
+
+ if (font && !VECTOR_MARKED_P (font))
+ mark_vectorlike ((struct Lisp_Vector *) font);
+ }
+#endif
+ }
break;
case PVEC_WINDOW: