From d4238397b99ae95264320bf6c8622b0e63876c10 Mon Sep 17 00:00:00 2001 From: Vincent van Ravesteijn Date: Sun, 29 Apr 2012 14:26:24 +0200 Subject: [PATCH] Fix bug #7667: Pixmap cache and CT lead to random colors The signature of the character in cache should take into account the change tracking baseColor (author) and mergeColor (added/deleted). If not, we will mixup different cached pixmaps. (cherry picked from commit 63279938670e753b825ebb42c68d9b6be3a3937a) --- src/frontends/qt4/GuiPainter.cpp | 4 +++- status.20x | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/frontends/qt4/GuiPainter.cpp b/src/frontends/qt4/GuiPainter.cpp index 3ade5c9188..5cb43a039b 100644 --- a/src/frontends/qt4/GuiPainter.cpp +++ b/src/frontends/qt4/GuiPainter.cpp @@ -96,7 +96,9 @@ QString GuiPainter::generateStringSignature(QString const & str, FontInfo const sig.append(QChar(static_cast(f.series()))); sig.append(QChar(static_cast(f.realShape()))); sig.append(QChar(static_cast(f.size()))); - sig.append(QChar(static_cast(f.color()))); + Color const & color = f.realColor(); + sig.append(QChar(static_cast(color.baseColor))); + sig.append(QChar(static_cast(color.mergeColor))); if (!monochrome_min_.empty()) { QColor const & min = monochrome_min_.top(); QColor const & max = monochrome_max_.top(); diff --git a/status.20x b/status.20x index fde5f32950..6beef61bfe 100644 --- a/status.20x +++ b/status.20x @@ -160,6 +160,9 @@ What's new - Fix coloring of insets that come after deleted text insets with change tracking on. +- Fix the random coloring of text when change tracking is on and + pixmap caching is enabled (bug 7667). + * DOCUMENTATION AND LOCALIZATION