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.
This commit is contained in:
Dmitry Antipov 2013-10-23 20:07:30 +04:00
parent 93be1936a3
commit df24a230c7
2 changed files with 21 additions and 2 deletions

View file

@ -1,3 +1,9 @@
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).

View file

@ -5951,8 +5951,21 @@ mark_object (Lisp_Object arg)
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: