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 6327993867)
This commit is contained in:
Vincent van Ravesteijn 2012-04-29 14:26:24 +02:00
parent a102ba7564
commit d4238397b9
2 changed files with 6 additions and 1 deletions

View File

@ -96,7 +96,9 @@ QString GuiPainter::generateStringSignature(QString const & str, FontInfo const
sig.append(QChar(static_cast<short>(f.series())));
sig.append(QChar(static_cast<short>(f.realShape())));
sig.append(QChar(static_cast<short>(f.size())));
sig.append(QChar(static_cast<short>(f.color())));
Color const & color = f.realColor();
sig.append(QChar(static_cast<short>(color.baseColor)));
sig.append(QChar(static_cast<short>(color.mergeColor)));
if (!monochrome_min_.empty()) {
QColor const & min = monochrome_min_.top();
QColor const & max = monochrome_max_.top();

View File

@ -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