summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/cairo-render-context.cpp
diff options
context:
space:
mode:
authorEduard Braun <eduard.braun2@gmx.de>2017-12-04 19:03:57 +0000
committerEduard Braun <eduard.braun2@gmx.de>2017-12-04 19:03:57 +0000
commitc40b0c3259279aba0bc79d4dcc09c70abb71aa34 (patch)
tree0d5ac16becfed107def37cc28ac19cc4fa8e6aef /src/extension/internal/cairo-render-context.cpp
parentProper fix for multipage PDF+Latex export (diff)
downloadinkscape-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/extension/internal/cairo-render-context.cpp')
-rw-r--r--src/extension/internal/cairo-render-context.cpp6
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;