diff options
| author | Eduard Braun <eduard.braun2@gmx.de> | 2017-11-30 21:04:34 +0000 |
|---|---|---|
| committer | Eduard Braun <eduard.braun2@gmx.de> | 2017-11-30 21:04:34 +0000 |
| commit | f0be34d40fdb5840cb2ad4539db4f6dd3978cb3f (patch) | |
| tree | 78baabf9a26f1035c8ad6d946887ef90f211e3b8 /src/extension/implementation/script.cpp | |
| parent | Packaging/MSYS2: remove unneeded libraries (diff) | |
| download | inkscape-f0be34d40fdb5840cb2ad4539db4f6dd3978cb3f.tar.gz inkscape-f0be34d40fdb5840cb2ad4539db4f6dd3978cb3f.zip | |
Extensions: Don't crash on invalid effect extension output
Diffstat (limited to '')
| -rw-r--r-- | src/extension/implementation/script.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/extension/implementation/script.cpp b/src/extension/implementation/script.cpp index eb98711bc..23c97c3b0 100644 --- a/src/extension/implementation/script.cpp +++ b/src/extension/implementation/script.cpp @@ -732,9 +732,14 @@ void Script::effect(Inkscape::Extension::Effect *module, SPDocument * mydoc = NULL; if (data_read > 10) { - mydoc = Inkscape::Extension::open( - Inkscape::Extension::db.get(SP_MODULE_KEY_INPUT_SVG), - tempfilename_out.c_str()); + try { + mydoc = Inkscape::Extension::open( + Inkscape::Extension::db.get(SP_MODULE_KEY_INPUT_SVG), + tempfilename_out.c_str()); + } catch (const Inkscape::Extension::Input::open_failed &e) { + /// \todo Popup dialog here + g_warning("Extension returned output that could not be parsed: %s", e.what()); + } } // data_read pump_events(); |
