From f589e1fdc71cba2025d940232f132ab0622adda7 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Fri, 22 Dec 2017 20:17:01 +0100 Subject: Show appropriate warning if non-existent export ID is specified Fixed bug: - https://bugs.launchpad.net/inkscape/+bug/1739497 --- src/extension/internal/cairo-ps-out.cpp | 3 +++ src/extension/internal/cairo-renderer-pdf-out.cpp | 3 +++ src/extension/internal/latex-text-renderer.cpp | 5 ++++- 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'src/extension/internal') diff --git a/src/extension/internal/cairo-ps-out.cpp b/src/extension/internal/cairo-ps-out.cpp index e8f47e79e..57169ed45 100644 --- a/src/extension/internal/cairo-ps-out.cpp +++ b/src/extension/internal/cairo-ps-out.cpp @@ -76,6 +76,9 @@ ps_print_document_to_file(SPDocument *doc, gchar const *filename, unsigned int l if (exportId && strcmp(exportId, "")) { // we want to export the given item only base = SP_ITEM(doc->getObjectById(exportId)); + if (!base) { + throw Inkscape::Extension::Output::export_id_not_found(exportId); + } pageBoundingBox = exportCanvas; } else { diff --git a/src/extension/internal/cairo-renderer-pdf-out.cpp b/src/extension/internal/cairo-renderer-pdf-out.cpp index 5576676b2..865de1a07 100644 --- a/src/extension/internal/cairo-renderer-pdf-out.cpp +++ b/src/extension/internal/cairo-renderer-pdf-out.cpp @@ -71,6 +71,9 @@ pdf_render_document_to_file(SPDocument *doc, gchar const *filename, unsigned int if (exportId && strcmp(exportId, "")) { // we want to export the given item only base = SP_ITEM(doc->getObjectById(exportId)); + if (!base) { + throw Inkscape::Extension::Output::export_id_not_found(exportId); + } pageBoundingBox = exportCanvas; } else { diff --git a/src/extension/internal/latex-text-renderer.cpp b/src/extension/internal/latex-text-renderer.cpp index 7a1cacbf2..960aec7a9 100644 --- a/src/extension/internal/latex-text-renderer.cpp +++ b/src/extension/internal/latex-text-renderer.cpp @@ -41,6 +41,7 @@ #include "util/units.h" +#include "extension/output.h" #include "extension/system.h" #include "inkscape-version.h" @@ -68,7 +69,9 @@ latex_render_document_text_to_file( SPDocument *doc, gchar const *filename, if (exportId && strcmp(exportId, "")) { // we want to export the given item only base = dynamic_cast(doc->getObjectById(exportId)); - g_assert(base != NULL); + if (!base) { + throw Inkscape::Extension::Output::export_id_not_found(exportId); + } pageBoundingBox = exportCanvas; } else { -- cgit v1.2.3