i think i foundsed me a fontconfig bug.. this i think is a

workartound.. it depends what fc's intent was tho.



SVN revision: 53093
This commit is contained in:
Carsten Haitzler 2010-10-06 08:53:06 +00:00
parent 9dc6cd0c51
commit 4b96e37067
1 changed files with 15 additions and 1 deletions

View File

@ -252,6 +252,13 @@ evas_load_fontconfig(Evas *evas, FcFontSet *set, int size)
} }
#endif #endif
struct _FcPattern {
int num;
int size;
intptr_t elts_offset;
int ref;
};
void * void *
evas_font_load(Evas *evas, const char *name, const char *source, int size) evas_font_load(Evas *evas, const char *name, const char *source, int size)
{ {
@ -448,6 +455,7 @@ evas_font_load(Evas *evas, const char *name, const char *source, int size)
fonts = eina_list_free(fonts); fonts = eina_list_free(fonts);
#ifdef HAVE_FONTCONFIG #ifdef HAVE_FONTCONFIG
if (!font) /* Search using fontconfig */ if (!font) /* Search using fontconfig */
{ {
FcResult res; FcResult res;
@ -465,7 +473,13 @@ evas_font_load(Evas *evas, const char *name, const char *source, int size)
p_nm = NULL; p_nm = NULL;
} }
else else
font = evas_load_fontconfig(evas, set, size); {
// FIXME: this i think is a bugfix for a rare bug... but i'm
// not sure 100%. it seems that way from fc. if trim is set
// to FcTrue...
FcPatternReference(p_nm); /* we have to reference count the pat */
font = evas_load_fontconfig(evas, set, size);
}
} }
#endif #endif