diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-06-07 15:14:31 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-06-07 15:15:55 +0100 |
commit | 37532b47c0ef6528fb6696fe97be337d9ad0a900 (patch) | |
tree | 4a71476ac15a0426b6f28aa6abefe2d1be7e29c4 /src/cairo-scaled-font.c | |
parent | 2f1d6b27e8b78c77346a5b603114b54400e57d83 (diff) | |
download | cairo-37532b47c0ef6528fb6696fe97be337d9ad0a900.tar.gz |
scaled-font: Take lock around disposing of an empty page upon alloc failure
Spotted by code inspection whilst looking at #50705
References: https://bugs.freedesktop.org/show_bug.cgi?id=50705
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-scaled-font.c')
-rw-r--r-- | src/cairo-scaled-font.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c index 7ea3a2127..fe22f54c3 100644 --- a/src/cairo-scaled-font.c +++ b/src/cairo-scaled-font.c @@ -2870,8 +2870,10 @@ _cairo_scaled_font_free_last_glyph (cairo_scaled_font_t *scaled_font, _cairo_scaled_glyph_fini (scaled_font, scaled_glyph); if (--page->num_glyphs == 0) { + CAIRO_MUTEX_LOCK (_cairo_scaled_glyph_page_cache_mutex); _cairo_cache_remove (&cairo_scaled_glyph_page_cache, &page->cache_entry); + CAIRO_MUTEX_UNLOCK (_cairo_scaled_glyph_page_cache_mutex); } } |