diff options
author | aavit <qt-info@nokia.com> | 2011-06-09 07:36:34 (GMT) |
---|---|---|
committer | aavit <qt-info@nokia.com> | 2011-06-09 07:36:34 (GMT) |
commit | 161fd33b199c96a92fbda4b009e85f910f73acc0 (patch) | |
tree | 736e139d09f8cf8fee5fa4315fb3381d5c4f492b /src/gui/painting/qpaintengine_raster.cpp | |
parent | 809fc41c9b19388a21ee8e23601156579780cda3 (diff) | |
parent | 3916feefc5ebadba3320029a29ecf02d8934e879 (diff) | |
download | Qt-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.cpp | 10 |
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)); |