mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-01-08 00:10:18 +01:00
[gl] Fix the glyph cache full flush to really try again.
Previously, the initial error handling would dump through to software fallback instead of retrying in the following code.
This commit is contained in:
parent
4aae4bfa8f
commit
515ccb63a6
1 changed files with 2 additions and 4 deletions
|
|
@ -478,17 +478,15 @@ _render_glyphs (cairo_gl_surface_t *dst,
|
|||
|
||||
if (scaled_glyph->surface_private == NULL) {
|
||||
status = _cairo_gl_glyph_cache_add_glyph (cache, scaled_glyph);
|
||||
if (unlikely (_cairo_status_is_error (status)))
|
||||
goto FINISH;
|
||||
|
||||
if (status == CAIRO_INT_STATUS_UNSUPPORTED) {
|
||||
/* Cache is full, so flush existing prims and try again. */
|
||||
_cairo_gl_flush_glyphs (ctx, &setup);
|
||||
_cairo_gl_glyph_cache_unlock (cache);
|
||||
status = _cairo_gl_glyph_cache_add_glyph (cache, scaled_glyph);
|
||||
}
|
||||
|
||||
status = _cairo_gl_glyph_cache_add_glyph (cache, scaled_glyph);
|
||||
if (unlikely (status))
|
||||
if (unlikely (_cairo_status_is_error (status)))
|
||||
goto FINISH;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue