[cairo] Possible bug in Win32 Printing Surface code?
Edward Zimmermann
Edward.Zimmermann at cib.de
Thu Dec 12 03:49:27 PST 2013
In
_cairo_win32_printing_surface_show_glyphs
if we are NOT using Windows' fonts
1574
1575 /* For non win32 fonts we need to check that each glyph has a
1576 * path available. If a path is not available,
1577 * _cairo_scaled_glyph_lookup() will return
1578 * CAIRO_INT_STATUS_UNSUPPORTED and a fallback image will be
1579 * used.
1580 */
1581 for (i = 0; i < num_glyphs; i++) {
1582 status = _cairo_scaled_glyph_lookup (scaled_font,
1583 glyphs[i].index,
1584 CAIRO_SCALED_GLYPH_INFO_PATH,
1585 &scaled_glyph);
1586 if (status)
1587 return status;
1588 }
1589
What seems to be missing is
_cairo_scaled_font_freeze_cache (&scaled_font->base);
before the loop
and
_cairo_scaled_font_thaw_cache (&scaled_font->base);
after.
cairo_int_status_t
_cairo_scaled_glyph_lookup
expects (make that demands) that it had been frozen:
2961 assert (scaled_font->cache_frozen);
Or am I missing something????
_________________________________________________________________
Edward C. Zimmermann
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20131212/f3c19933/attachment.html>
More information about the cairo
mailing list