diff options
| author | Dmitry Antipov | 2013-10-23 20:07:30 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2013-10-23 20:07:30 +0400 |
| commit | df24a230c7452f899a6d66119d709f65a758195f (patch) | |
| tree | f3dd69f66ccd465d06e24845739046a0efd8353c /src | |
| parent | 93be1936a38e4e6f409d60df2b7278bf1994a33e (diff) | |
| download | emacs-df24a230c7452f899a6d66119d709f65a758195f.tar.gz emacs-df24a230c7452f899a6d66119d709f65a758195f.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/alloc.c | 17 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 52669b57825..e1e7b4fb78d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2013-10-23 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 2 | |||
| 3 | Tweak last font-related changes to fix bug#15686. | ||
| 4 | * alloc.c (mark_object) [HAVE_WINDOW_SYSTEM]: If marked frame | ||
| 5 | is a live window system frame, mark it's default font too. | ||
| 6 | |||
| 1 | 2013-10-23 Glenn Morris <rgm@gnu.org> | 7 | 2013-10-23 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * Makefile.in (RUN_TEMACS): Make relative (again). | 9 | * Makefile.in (RUN_TEMACS): Make relative (again). |
diff --git a/src/alloc.c b/src/alloc.c index 2c28b5df6d7..a65dbb48b93 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -5951,8 +5951,21 @@ mark_object (Lisp_Object arg) | |||
| 5951 | break; | 5951 | break; |
| 5952 | 5952 | ||
| 5953 | case PVEC_FRAME: | 5953 | case PVEC_FRAME: |
| 5954 | mark_vectorlike (ptr); | 5954 | { |
| 5955 | mark_face_cache (((struct frame *) ptr)->face_cache); | 5955 | struct frame *f = (struct frame *) ptr; |
| 5956 | |||
| 5957 | mark_vectorlike (ptr); | ||
| 5958 | mark_face_cache (f->face_cache); | ||
| 5959 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 5960 | if (FRAME_WINDOW_P (f) && FRAME_X_OUTPUT (f)) | ||
| 5961 | { | ||
| 5962 | struct font *font = FRAME_FONT (f); | ||
| 5963 | |||
| 5964 | if (font && !VECTOR_MARKED_P (font)) | ||
| 5965 | mark_vectorlike ((struct Lisp_Vector *) font); | ||
| 5966 | } | ||
| 5967 | #endif | ||
| 5968 | } | ||
| 5956 | break; | 5969 | break; |
| 5957 | 5970 | ||
| 5958 | case PVEC_WINDOW: | 5971 | case PVEC_WINDOW: |