comparison src/ftfont.c @ 103003:bf88e5d2f4af

(ftfont_pattern_entity): Return a newly allocated entity even if the cache hits.
author Kenichi Handa <handa@m17n.org>
date Fri, 17 Apr 2009 00:55:41 +0000
parents 18e317a87f12
children 8f0fbb48af5a
comparison
equal deleted inserted replaced
103002:61ab76316844 103003:bf88e5d2f4af
206 key = Fcons (make_unibyte_string ((char *) file, strlen ((char *) file)), 206 key = Fcons (make_unibyte_string ((char *) file, strlen ((char *) file)),
207 make_number (index)); 207 make_number (index));
208 cache = ftfont_lookup_cache (key, FTFONT_CACHE_FOR_ENTITY); 208 cache = ftfont_lookup_cache (key, FTFONT_CACHE_FOR_ENTITY);
209 entity = XCAR (cache); 209 entity = XCAR (cache);
210 if (! NILP (entity)) 210 if (! NILP (entity))
211 return entity; 211 {
212 Lisp_Object val = font_make_entity ();
213 int i;
214
215 for (i = 0; i < FONT_OBJLIST_INDEX; i++)
216 ASET (val, i, AREF (entity, i));
217 return val;
218 }
212 entity = font_make_entity (); 219 entity = font_make_entity ();
213 XSETCAR (cache, entity); 220 XSETCAR (cache, entity);
214 221
215 ASET (entity, FONT_TYPE_INDEX, Qfreetype); 222 ASET (entity, FONT_TYPE_INDEX, Qfreetype);
216 ASET (entity, FONT_REGISTRY_INDEX, Qiso10646_1); 223 ASET (entity, FONT_REGISTRY_INDEX, Qiso10646_1);