summaryrefslogtreecommitdiffstats
path: root/src/extension/internal
diff options
context:
space:
mode:
authorEduard Braun <eduard.braun2@gmx.de>2017-12-22 19:17:01 +0000
committerEduard Braun <eduard.braun2@gmx.de>2017-12-22 19:17:01 +0000
commitf589e1fdc71cba2025d940232f132ab0622adda7 (patch)
tree5bff3f1249fa4403bc5077bf4a385650451487a2 /src/extension/internal
parentAllow extensions to throw more fine-grained exceptions (diff)
downloadinkscape-f589e1fdc71cba2025d940232f132ab0622adda7.tar.gz
inkscape-f589e1fdc71cba2025d940232f132ab0622adda7.zip
Show appropriate warning if non-existent export ID is specified
Fixed bug: - https://bugs.launchpad.net/inkscape/+bug/1739497
Diffstat (limited to 'src/extension/internal')
-rw-r--r--src/extension/internal/cairo-ps-out.cpp3
-rw-r--r--src/extension/internal/cairo-renderer-pdf-out.cpp3
-rw-r--r--src/extension/internal/latex-text-renderer.cpp5
3 files changed, 10 insertions, 1 deletions
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<SPItem *>(doc->getObjectById(exportId));
- g_assert(base != NULL);
+ if (!base) {
+ throw Inkscape::Extension::Output::export_id_not_found(exportId);
+ }
pageBoundingBox = exportCanvas;
}
else {