key[0] = prev;
key[1] = index;
-#ifdef HAVE_PTHREAD
- pthread_mutex_lock(&fi->ft_mutex);
-#endif
-
result = eina_hash_find(fi->kerning, key);
if (result)
{
error = 0;
on_correct:
-#ifdef HAVE_PTHREAD
- pthread_mutex_unlock(&fi->ft_mutex);
-#endif
return error;
}
gl = evas_common_font_utf8_get_next((unsigned char *)text, &chr);
if (gl == 0) break;
index = evas_common_font_glyph_search(fn, &fi, gl);
+ LKL(fi->ft_mutex);
if (fi->src->current_size != fi->size)
{
FT_Activate_Size(fi->ft.size);
pface = fi->src->ft.face;
fg = evas_common_font_int_cache_glyph_get(fi, index);
+ LKU(fi->ft_mutex);
if (!fg) continue;
if (kern < 0) kern = 0;
gl = evas_common_font_utf8_get_next((unsigned char *)text, &chr);
if (gl == 0) break;
index = evas_common_font_glyph_search(fn, &fi, gl);
+ LKL(fi->ft_mutex);
if (fi->src->current_size != fi->size)
{
FT_Activate_Size(fi->ft.size);
pface = fi->src->ft.face;
fg = evas_common_font_int_cache_glyph_get(fi, index);
+ LKU(fi->ft_mutex);
if (!fg) continue;
chr_x = (pen_x + (fg->glyph_out->left));
gl = evas_common_font_utf8_get_next((unsigned char *)text, &chr);
if (gl == 0) break;
index = evas_common_font_glyph_search(fn, &fi, gl);
+ LKL(fi->ft_mutex);
+ // FIXME: Why no FT_Activate_Size here ?
kern = 0;
/* hmmm kerning means i can't sanely do my own cached metric tables! */
/* grrr - this means font face sharing is kinda... not an option if */
pface = fi->src->ft.face;
fg = evas_common_font_int_cache_glyph_get(fi, index);
+ LKU(fi->ft_mutex);
if (!fg) continue;
if (kern < 0) kern = 0;
gl = evas_common_font_utf8_get_next((unsigned char *)text, &chr);
if (gl == 0) break;
index = evas_common_font_glyph_search(fn, &fi, gl);
+ LKL(fi->ft_mutex);
+ // FIXME: Why not FT_Activate_Size here ?
kern = 0;
/* hmmm kerning means i can't sanely do my own cached metric tables! */
/* grrr - this means font face sharing is kinda... not an option if */
pface = fi->src->ft.face;
fg = evas_common_font_int_cache_glyph_get(fi, index);
+ LKU(fi->ft_mutex);
if (!fg) continue;
if (kern < 0) kern = 0;
gl = evas_common_font_utf8_get_next((unsigned char *)text, &chr);
if (gl == 0) break;
index = evas_common_font_glyph_search(fn, &fi, gl);
+ LKL(fi->ft_mutex);
if (fi->src->current_size != fi->size)
{
FT_Activate_Size(fi->ft.size);
pface = fi->src->ft.face;
fg = evas_common_font_int_cache_glyph_get(fi, index);
+ LKU(fi->ft_mutex);
if (!fg) continue;
if (kern < 0) kern = 0;