commit 8d088df4df895fe7ede0a9fb5f79de7f8194ae37
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Fri Mar 11 10:08:15 2016 +0100

    When using pixmap cache, add word spacing to signature
    
    Fixes bug #9971.

diff --git a/src/frontends/qt4/GuiPainter.cpp b/src/frontends/qt4/GuiPainter.cpp
index aad38b0..9204c73 100644
--- a/src/frontends/qt4/GuiPainter.cpp
+++ b/src/frontends/qt4/GuiPainter.cpp
@@ -90,7 +90,9 @@ void GuiPainter::setQPainterPen(QColor const & col,
 }
 
 
-QString GuiPainter::generateStringSignature(QString const & str, FontInfo 
const & f)
+QString GuiPainter::generateStringSignature(QString const & str,
+                                            FontInfo const & f,
+                                            double wordspacing)
 {
        QString sig = str;
        sig.append(QChar(static_cast<short>(f.family())));
@@ -100,6 +102,7 @@ QString GuiPainter::generateStringSignature(QString const & 
str, FontInfo const
        Color const & color = f.realColor();
        sig.append(QChar(static_cast<short>(color.baseColor)));
        sig.append(QChar(static_cast<short>(color.mergeColor)));
+       sig.append(QString::number(wordspacing));
        if (!monochrome_min_.empty()) {
                QColor const & min = monochrome_min_.top();
                QColor const & max = monochrome_max_.top();
@@ -404,7 +407,7 @@ int GuiPainter::text(int x, int y, docstring const & s,
 
        if (use_pixmap_cache_) {
                QPixmap pm;
-               QString key = generateStringSignature(str, f);
+               QString key = generateStringSignature(str, f, wordspacing);
 
                // Warning: Left bearing is in general negative! Only the case
                // where left bearing is negative is of interest WRT the
diff --git a/src/frontends/qt4/GuiPainter.h b/src/frontends/qt4/GuiPainter.h
index 3819ff3..5aec66a 100644
--- a/src/frontends/qt4/GuiPainter.h
+++ b/src/frontends/qt4/GuiPainter.h
@@ -203,7 +203,8 @@ private:
        /// possibly apply monochrome mode
        QColor filterColor(QColor const & col);
        ///
-       QString generateStringSignature(QString const & str, FontInfo const & 
f);       
+       QString generateStringSignature(QString const & str, FontInfo const & f,
+                                       double wordspacing);
 };
 
 } // namespace frontend

Reply via email to