X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetGraphics.cpp;h=91c23aa7fb2c5ff81b9f00307910e2f865ed97e0;hb=8a0715d0bdc3;hp=ef03b6ff00ed5022fe5198e32122102e910aa9d4;hpb=de0dbfb61bd2b4410c9e7948850acbad3bd8ee61;p=features.git diff --git a/src/insets/InsetGraphics.cpp b/src/insets/InsetGraphics.cpp index ef03b6ff00..91c23aa7fb 100644 --- a/src/insets/InsetGraphics.cpp +++ b/src/insets/InsetGraphics.cpp @@ -61,6 +61,7 @@ TODO #include "FuncRequest.h" #include "FuncStatus.h" #include "InsetIterator.h" +#include "LaTeX.h" #include "LaTeXFeatures.h" #include "Lexer.h" #include "MetricsInfo.h" @@ -821,7 +822,19 @@ void InsetGraphics::latex(otexstream & os, bool const file_exists = !params().filename.empty() && params().filename.isReadableFile(); string message; - if (!file_exists) { + // PDFLaTeX and Xe/LuaTeX fall back to draft themselves + // and error about it. For DVI/PS, we do something similar here. + if (!file_exists && runparams.flavor == Flavor::LaTeX) { + TeXErrors terr; + ErrorList & errorList = buffer().errorList("Export"); + docstring const s = params().filename.empty() ? + _("Graphic not specified. Falling back to `draft' mode.") + : bformat(_("Graphic `%1$s' was not found. Falling back to `draft' mode."), + params().filename.absoluteFilePath()); + Paragraph const & par = buffer().paragraphs().front(); + errorList.push_back(ErrorItem(_("Graphic not found!"), s, + {par.id(), 0}, {par.id(), -1})); + buffer().bufferErrors(terr, errorList); if (params().bbox.empty()) message = "bb = 0 0 200 100"; if (!params().draft) { @@ -832,11 +845,11 @@ void InsetGraphics::latex(otexstream & os, if (!message.empty()) message += ", "; message += "type=eps"; + // If no existing file "filename" was found LaTeX + // draws only a rectangle with the above bb and the + // not found filename in it. + LYXERR(Debug::GRAPHICS, "\tMessage = \"" << message << '\"'); } - // If no existing file "filename" was found LaTeX - // draws only a rectangle with the above bb and the - // not found filename in it. - LYXERR(Debug::GRAPHICS, "\tMessage = \"" << message << '\"'); // These variables collect all the latex code that should be before and // after the actual includegraphics command.