summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpaintengine_raster.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@nokia.com>2011-06-06 11:19:45 (GMT)
committerLiang Qi <liang.qi@nokia.com>2011-06-06 11:19:45 (GMT)
commit872da4c22ed2a82c7e2624b8aef8ebba6c1323d9 (patch)
treecd786e093b64b8685a5d49bd48778a9650ee241f /src/gui/painting/qpaintengine_raster.cpp
parent1a74ca1d05c7c819db89a82de613d73244b7a980 (diff)
parented2b7e6c592dcf24de2bf34a693f54b5dd569194 (diff)
downloadQt-872da4c22ed2a82c7e2624b8aef8ebba6c1323d9.zip
Qt-872da4c22ed2a82c7e2624b8aef8ebba6c1323d9.tar.gz
Qt-872da4c22ed2a82c7e2624b8aef8ebba6c1323d9.tar.bz2
Merge branch '4.7' into qt-4.8-from-4.7
Conflicts: src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontengine_ft.cpp src/s60installs/bwins/QtGuiu.def
Diffstat (limited to 'src/gui/painting/qpaintengine_raster.cpp')
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index 5ce94f8..96be2b8 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -3167,7 +3167,15 @@ bool QRasterPaintEngine::drawCachedGlyphs(int numGlyphs, const glyph_t *glyphs,
} else
#endif
{
- QFontEngineGlyphCache::Type glyphType = fontEngine->glyphFormat >= 0 ? QFontEngineGlyphCache::Type(fontEngine->glyphFormat) : d->glyphCacheType;
+ QFontEngineGlyphCache::Type glyphType;
+ if (fontEngine->glyphFormat >= 0) {
+ glyphType = QFontEngineGlyphCache::Type(fontEngine->glyphFormat);
+ } else if (s->matrix.type() > QTransform::TxTranslate
+ && d->glyphCacheType == QFontEngineGlyphCache::Raster_RGBMask) {
+ glyphType = QFontEngineGlyphCache::Raster_A8;
+ } else {
+ glyphType = d->glyphCacheType;
+ }
QImageTextureGlyphCache *cache =
static_cast<QImageTextureGlyphCache *>(fontEngine->glyphCache(0, glyphType, s->matrix));