]> git.lyx.org Git - features.git/commitdiff
Fix PDF output of clipped graphics with recent graphics package
authorJuergen Spitzmueller <spitz@lyx.org>
Thu, 12 Oct 2017 13:38:59 +0000 (15:38 +0200)
committerJuergen Spitzmueller <spitz@lyx.org>
Thu, 12 Oct 2017 13:38:59 +0000 (15:38 +0200)
The previous redirection of the senseless option "bb" to "viewport" in
PDFLaTeX output has been removed in a recent graphics package update.

This breaks documents, since clipped graphics silently stop displaying.

This change restores the previous output by using "viewport" instaed of
"bb" for non-PS/DVI output, while leaving PS/DVI untouched (where "bb"
and "viewport" behave differently.

Fixes: #7910
src/insets/InsetGraphics.cpp
src/insets/InsetGraphics.h

index 3cc550b57338bd43343baa32316460bb665b6154..94182a73269fa5585adf4cce8de06e6d5d149b59 100644 (file)
@@ -304,17 +304,19 @@ void InsetGraphics::read(Lexer & lex)
 }
 
 
-string InsetGraphics::createLatexOptions() const
+string InsetGraphics::createLatexOptions(bool const ps) const
 {
        // Calculate the options part of the command, we must do it to a string
        // stream since we might have a trailing comma that we would like to remove
        // before writing it to the output stream.
        ostringstream options;
-       if (!params().bbox.empty())
-               options << "bb=" << params().bbox.xl.asLatexString() << ' '
+       if (!params().bbox.empty()) {
+               string const key = ps ? "bb=" : "viewport=";
+               options << key << params().bbox.xl.asLatexString() << ' '
                        << params().bbox.yb.asLatexString() << ' '
                        << params().bbox.xr.asLatexString() << ' '
                        << params().bbox.yt.asLatexString() << ',';
+       }
        if (params().draft)
            options << "draft,";
        if (params().clip)
@@ -765,7 +767,9 @@ void InsetGraphics::latex(otexstream & os,
        before += "\\includegraphics";
 
        // Write the options if there are any.
-       string const opts = createLatexOptions();
+       bool const ps = runparams.flavor == OutputParams::LATEX
+               || runparams.flavor == OutputParams::DVILUATEX;
+       string const opts = createLatexOptions(ps);
        LYXERR(Debug::GRAPHICS, "\tOpts = " << opts);
 
        if (!opts.empty() && !message.empty())
index 5bd858a1a1975e7d7946083edc51203cd7e8f82d..58b28ab21d84bf16e34af4ad6997c619d9e0f4c8 100644 (file)
@@ -114,7 +114,7 @@ private:
        /// Get the status message, depends on the image loading status.
        std::string statusMessage() const;
        /// Create the options for the latex command.
-       std::string createLatexOptions() const;
+       std::string createLatexOptions(bool const ps) const;
        /// Create length values for docbook export.
        docstring toDocbookLength(Length const & len) const;
        /// Create the atributes for docbook export.