diff options
| author | Eduard Braun <eduard.braun2@gmx.de> | 2017-12-04 19:03:57 +0000 |
|---|---|---|
| committer | Eduard Braun <eduard.braun2@gmx.de> | 2017-12-04 19:03:57 +0000 |
| commit | c40b0c3259279aba0bc79d4dcc09c70abb71aa34 (patch) | |
| tree | 0d5ac16becfed107def37cc28ac19cc4fa8e6aef /src | |
| parent | Proper fix for multipage PDF+Latex export (diff) | |
| download | inkscape-c40b0c3259279aba0bc79d4dcc09c70abb71aa34.tar.gz inkscape-c40b0c3259279aba0bc79d4dcc09c70abb71aa34.zip | |
CairoRenderer: print warning if rendering failed
It happen often that the rendering was interrupted early but the
final "cairo_surface_status" claims success which results in
incomplete output but no user-visible warning.
Diffstat (limited to 'src')
| -rw-r--r-- | src/extension/internal/cairo-render-context.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/extension/internal/cairo-render-context.cpp b/src/extension/internal/cairo-render-context.cpp index 87c726832..b631f8c04 100644 --- a/src/extension/internal/cairo-render-context.cpp +++ b/src/extension/internal/cairo-render-context.cpp @@ -884,12 +884,16 @@ CairoRenderContext::finish(bool finish_surface) if (_vector_based_target && finish_surface) cairo_show_page(_cr); + cairo_status_t status = cairo_status(_cr); + if (status != CAIRO_STATUS_SUCCESS) + g_critical("error while rendering output: %s", cairo_status_to_string(status)); + cairo_destroy(_cr); _cr = NULL; if (finish_surface) cairo_surface_finish(_surface); - cairo_status_t status = cairo_surface_status(_surface); + status = cairo_surface_status(_surface); cairo_surface_destroy(_surface); _surface = NULL; |
