[cairo] [Bug?] Differences in error detection between a native linux-64 and a mingw (Windows) crossbuild.

Adrian Johnson ajohnson at redneon.com
Mon Aug 2 11:37:17 UTC 2021

On 2/8/21 7:03 pm, Knut Petersen wrote:
> However, implementing a cairo backend for lilypond was my first project
> that uses cairo, and it was very irritating for me that when using Cairo
> it can happen that immediately after a cairo_*() function call
> cairo_status() might well return CAIRO_STATUS_SUCCESS, but further
> processing can then asynchronously lead to a status != success. If you
> are unlucky, you will only notice an error when calling the final
> cairo_surface_finish(). It would have saved me some hours of debugging
> if there had been a corresponding hint in the documentation of
> cairo_status() or in
> https://www.cairographics.org/manual/cairo-Error-handling.html.

You can now set the environment variable CAIRO_DEBUG_TAG=1 to get
detailed error messages for tag errors. It won't print the message right
after the cairo_*() function as some errors are not discovered until the
end of the document such as a link to a destination or page number that
does not exist.

More information about the cairo mailing list