[ot-font] Use atomic ops for cache serial number

This guarantees the cache is coherent.
This commit is contained in:
Behdad Esfahbod 2022-05-24 17:51:24 -06:00
parent 5248b2567b
commit a719e67887
1 changed files with 3 additions and 3 deletions

View File

@ -181,7 +181,7 @@ hb_ot_get_glyph_h_advances (hb_font_t* font, void* font_data,
hb_free (cache); hb_free (cache);
goto retry; goto retry;
} }
ot_font->cached_coords_serial.set_relaxed (font->serial_coords); ot_font->cached_coords_serial.set (font->serial_coords);
} }
} }
out: out:
@ -197,10 +197,10 @@ hb_ot_get_glyph_h_advances (hb_font_t* font, void* font_data,
} }
else else
{ /* Use cache. */ { /* Use cache. */
if (ot_font->cached_coords_serial.get_relaxed () != (int) font->serial_coords) if (ot_font->cached_coords_serial.get () != (int) font->serial_coords)
{ {
ot_font->advance_cache->init (); ot_font->advance_cache->init ();
ot_font->cached_coords_serial.set_relaxed (font->serial_coords); ot_font->cached_coords_serial.set (font->serial_coords);
} }
for (unsigned int i = 0; i < count; i++) for (unsigned int i = 0; i < count; i++)