diff options
| author | Dmitry Antipov | 2013-12-12 18:26:06 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2013-12-12 18:26:06 +0400 |
| commit | cf86e18b159f754d6e5537b7b9cbefc32297f7d2 (patch) | |
| tree | b584773b90d5cb4c5993cc194037686110a89e36 /src/macfont.m | |
| parent | c4246a6008ef0c69db296df4aab95530f8e2b95e (diff) | |
| download | emacs-cf86e18b159f754d6e5537b7b9cbefc32297f7d2.tar.gz emacs-cf86e18b159f754d6e5537b7b9cbefc32297f7d2.zip | |
* font.h (struct font_entity) [HAVE_NS]: New field to record
font driver which was used to create this entity.
(struct font) [HAVE_WINDOW_SYSTEM]: New field to record
frame where the font was opened.
(font_close_object): Add prototype.
* font.c (font_make_entity) [HAVE_NS]: Zero out driver field.
(font_close_object): Not static any more. Lost frame arg.
Adjust comment and users.
* alloc.c (cleanup_vector): Call font_close_object to adjust
per-frame font counters correctly. If HAVE_NS, also call
driver-specific cleanup for font-entity objects.
* ftfont.c (ftfont_open):
* nsfont.m (nsfont_open):
* w32font.c (w32font_open_internal):
* xfont.c (xfont_open):
* xftfont.c (xftfont_open): Save frame pointer in font object.
* macfont.m (macfont_open): Likewise.
(macfont_descriptor_entity): Save driver pointer to be able
to call its free_entity routine when font-entity is swept.
* ftxfont.c (ftxfont_open): Add eassert because frame
pointer should be saved by ftfont_driver.open.
Diffstat (limited to 'src/macfont.m')
| -rw-r--r-- | src/macfont.m | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/macfont.m b/src/macfont.m index 10623eb12fe..66833cd1b80 100644 --- a/src/macfont.m +++ b/src/macfont.m | |||
| @@ -882,6 +882,7 @@ macfont_descriptor_entity (FontDescriptorRef desc, Lisp_Object extra, | |||
| 882 | CFStringRef name; | 882 | CFStringRef name; |
| 883 | 883 | ||
| 884 | entity = font_make_entity (); | 884 | entity = font_make_entity (); |
| 885 | XFONT_ENTITY (entity)->driver = &macfont_driver; | ||
| 885 | 886 | ||
| 886 | ASET (entity, FONT_TYPE_INDEX, macfont_driver.type); | 887 | ASET (entity, FONT_TYPE_INDEX, macfont_driver.type); |
| 887 | ASET (entity, FONT_REGISTRY_INDEX, Qiso10646_1); | 888 | ASET (entity, FONT_REGISTRY_INDEX, Qiso10646_1); |
| @@ -2491,6 +2492,7 @@ macfont_open (struct frame * f, Lisp_Object entity, int pixel_size) | |||
| 2491 | ASET (font_object, FONT_FULLNAME_INDEX, | 2492 | ASET (font_object, FONT_FULLNAME_INDEX, |
| 2492 | AREF (font_object, FONT_NAME_INDEX)); | 2493 | AREF (font_object, FONT_NAME_INDEX)); |
| 2493 | font = XFONT_OBJECT (font_object); | 2494 | font = XFONT_OBJECT (font_object); |
| 2495 | font->frame = f; | ||
| 2494 | font->pixel_size = size; | 2496 | font->pixel_size = size; |
| 2495 | font->driver = &macfont_driver; | 2497 | font->driver = &macfont_driver; |
| 2496 | font->encoding_charset = font->repertory_charset = -1; | 2498 | font->encoding_charset = font->repertory_charset = -1; |