diff options
author | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2014-11-27 18:28:12 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2014-11-27 18:28:12 +0100 |
commit | ce6990c3e742e0833df0561246554cf07a888efb (patch) | |
tree | 412380582040f5bb314eb90ae029b41a883aa439 /src/gui/painting | |
parent | 09e674849a40f5eb7e9f95fd2a952c621aec86d1 (diff) | |
parent | fa9bde7d3a12ede956339c570f7b32f95d231e57 (diff) |
Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: Id20053d261b4fbbcc0ac8ba49dd3ef2253fa4b95
Diffstat (limited to 'src/gui/painting')
-rw-r--r-- | src/gui/painting/qpaintbuffer.cpp | 9 | ||||
-rw-r--r-- | src/gui/painting/qpainter.cpp | 7 |
2 files changed, 6 insertions, 10 deletions
diff --git a/src/gui/painting/qpaintbuffer.cpp b/src/gui/painting/qpaintbuffer.cpp index a9a2c91fd6..be147ec842 100644 --- a/src/gui/painting/qpaintbuffer.cpp +++ b/src/gui/painting/qpaintbuffer.cpp @@ -39,7 +39,6 @@ #include <private/qimage_p.h> #include <qstatictext.h> #include <private/qstatictext_p.h> -#include <private/qrawfont_p.h> #include <QDebug> @@ -1744,14 +1743,8 @@ void QPainterReplayer::process(const QPaintBufferCommand &cmd) painter->setFont(font); - QRawFont rawFont; - QRawFontPrivate *rawFontD = QRawFontPrivate::get(rawFont); - QFontPrivate *fontD = QFontPrivate::get(font); - rawFontD->fontEngine = fontD->engineForScript(QChar::Script_Common); - rawFontD->fontEngine->ref.ref(); - QGlyphRun glyphs; - glyphs.setRawFont(rawFont); + glyphs.setRawFont(QRawFont::fromFont(font, QFontDatabase::Any)); glyphs.setGlyphIndexes(glyphIndexes); glyphs.setPositions(positions); diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index eeebfde98c..b99a32df27 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -6358,7 +6358,7 @@ void QPainterPrivate::drawTextItem(const QPointF &p, const QTextItem &_ti, QText return; const QPainter::RenderHints oldRenderHints = state->renderHints; - if (!state->renderHints & QPainter::Antialiasing && state->matrix.type() >= QTransform::TxScale) { + if (!(state->renderHints & QPainter::Antialiasing) && state->matrix.type() >= QTransform::TxScale) { // draw antialias decoration (underline/overline/strikeout) with // transformed text @@ -6428,7 +6428,10 @@ void QPainterPrivate::drawTextItem(const QPointF &p, const QTextItem &_ti, QText if (rtl) x -= ti2.width.toReal(); - engine->drawTextItem(QPointF(x, y), ti2); + if (extended) + extended->drawTextItem(QPointF(x, y), ti2); + else + engine->drawTextItem(QPointF(x, y), ti2); if (!rtl) x += ti2.width.toReal(); |