X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetExternal.cpp;h=f604a1fb9d2e0028005a57524e643037b60e35c9;hb=9176e60b7bcab3e355521a86ddb4c2778cd9b29e;hp=1f0f5f2b770d271dbcedfd52514849cf6c6932f0;hpb=0842e22f4551e84dbf24259c65994c760fc22925;p=lyx.git diff --git a/src/insets/InsetExternal.cpp b/src/insets/InsetExternal.cpp index 1f0f5f2b77..f604a1fb9d 100644 --- a/src/insets/InsetExternal.cpp +++ b/src/insets/InsetExternal.cpp @@ -18,6 +18,7 @@ #include "Buffer.h" #include "BufferView.h" +#include "Converter.h" #include "Cursor.h" #include "DispatchResult.h" #include "Exporter.h" @@ -450,12 +451,6 @@ bool InsetExternal::setMouseHover(BufferView const * bv, bool mouse_hover) const } -void InsetExternal::statusChanged() const -{ - updateFrontend(); -} - - void InsetExternal::doDispatch(Cursor & cur, FuncRequest & cmd) { switch (cmd.action()) { @@ -728,19 +723,26 @@ void InsetExternal::latex(otexstream & os, OutputParams const & runparams) const et.formats.find("PDFLaTeX"); if (cit != et.formats.end()) { - external::writeExternal(params_, "PDFLaTeX", - buffer(), os, - *(runparams.exportdata), - external_in_tmpdir, - dryrun); + external::RetVal retval = + external::writeExternal(params_, "PDFLaTeX", buffer(), os, + *(runparams.exportdata), external_in_tmpdir, dryrun); + if (retval == external::KILLED) { + LYXERR0("External template preparation killed."); + if (buffer().isClone() && buffer().isExporting()) + throw ConversionException(); + } return; } } - external::writeExternal(params_, "LaTeX", buffer(), os, - *(runparams.exportdata), - external_in_tmpdir, - dryrun); + external::RetVal retval = + external::writeExternal(params_, "LaTeX", buffer(), os, + *(runparams.exportdata), external_in_tmpdir, dryrun); + if (retval == external::KILLED) { + LYXERR0("External template preparation killed."); + if (buffer().isClone() && buffer().isExporting()) + throw ConversionException(); + } } @@ -755,8 +757,14 @@ int InsetExternal::plaintext(odocstringstream & os, bool const dryrun = runparams.dryrun || runparams.inComment; otexstream ots(os); ots << '\n'; // output external material on a new line - external::writeExternal(params_, "Ascii", buffer(), ots, - *(runparams.exportdata), external_in_tmpdir, dryrun); + external::RetVal retval = + external::writeExternal(params_, "Ascii", buffer(), ots, + *(runparams.exportdata), external_in_tmpdir, dryrun); + if (retval == external::KILLED) { + LYXERR0("External template preparation killed."); + if (buffer().isClone() && buffer().isExporting()) + throw ConversionException(); + } return PLAINTEXT_NEWLINE; } @@ -768,8 +776,14 @@ int InsetExternal::docbook(odocstream & os, bool const dryrun = runparams.dryrun || runparams.inComment; odocstringstream ods; otexstream ots(ods); - external::writeExternal(params_, "DocBook", buffer(), ots, - *(runparams.exportdata), external_in_tmpdir, dryrun); + external::RetVal retval = + external::writeExternal(params_, "DocBook", buffer(), ots, + *(runparams.exportdata), external_in_tmpdir, dryrun); + if (retval == external::KILLED) { + LYXERR0("External template preparation killed."); + if (buffer().isClone() && buffer().isExporting()) + throw ConversionException(); + } os << ods.str(); return int(count(ods.str().begin(), ods.str().end(), '\n')); } @@ -782,8 +796,14 @@ docstring InsetExternal::xhtml(XHTMLStream & xs, bool const dryrun = runparams.dryrun || runparams.inComment; odocstringstream ods; otexstream ots(ods); - external::writeExternal(params_, "XHTML", buffer(), ots, - *(runparams.exportdata), external_in_tmpdir, dryrun); + external::RetVal retval = + external::writeExternal(params_, "XHTML", buffer(), ots, + *(runparams.exportdata), external_in_tmpdir, dryrun); + if (retval == external::KILLED) { + LYXERR0("External template preparation killed."); + if (buffer().isClone() && buffer().isExporting()) + throw ConversionException(); + } xs << XHTMLStream::ESCAPE_NONE << ods.str(); return docstring(); }