summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpaintengine_raster.cpp
diff options
context:
space:
mode:
authoraavit <qt-info@nokia.com>2011-06-09 07:36:34 (GMT)
committeraavit <qt-info@nokia.com>2011-06-09 07:36:34 (GMT)
commit161fd33b199c96a92fbda4b009e85f910f73acc0 (patch)
tree736e139d09f8cf8fee5fa4315fb3381d5c4f492b /src/gui/painting/qpaintengine_raster.cpp
parent809fc41c9b19388a21ee8e23601156579780cda3 (diff)
parent3916feefc5ebadba3320029a29ecf02d8934e879 (diff)
downloadQt-161fd33b199c96a92fbda4b009e85f910f73acc0.zip
Qt-161fd33b199c96a92fbda4b009e85f910f73acc0.tar.gz
Qt-161fd33b199c96a92fbda4b009e85f910f73acc0.tar.bz2
Merge remote branch 'qt-mainline/4.8'
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 57c94a8..30553b5 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -2860,7 +2860,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));