diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2011-08-22 14:53:59 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-08-23 14:35:48 +0200 |
commit | 889190cfc3c8ec601419236f6419275033770238 (patch) | |
tree | 494916213838e9eef77cb1ab5a6fac50110b3b6a /src/gui | |
parent | 1bf7fc2f1acbef9d2f6bf9d39958f8f56328fafe (diff) |
QFontEngine: Avoid nesting multi-fontengines.
In case the platform plugin returns an instance of QFontEngineMulti
(which happens on Windows).
Change-Id: I87470e47cfe113557313b7f6b3b09d1455af1c17
Reviewed-on: http://codereview.qt.nokia.com/3319
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/text/qfontdatabase_qpa.cpp | 2 | ||||
-rw-r--r-- | src/gui/text/qfontengine_qpa.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/gui/text/qfontdatabase_qpa.cpp b/src/gui/text/qfontdatabase_qpa.cpp index c0392e798b..d8b79840f6 100644 --- a/src/gui/text/qfontdatabase_qpa.cpp +++ b/src/gui/text/qfontdatabase_qpa.cpp @@ -156,7 +156,7 @@ QFontEngine *loadEngine(int script, const QFontDef &request, QFontEngine *engine = loadSingleEngine(script, request, foundry, style, size); //make sure that the db has all fallback families - if (engine + if (engine && engine->type() != QFontEngine::Multi && !(request.styleStrategy & QFont::NoFontMerging) && !engine->symbol ) { if (family && !family->askedForFallback) { diff --git a/src/gui/text/qfontengine_qpa.cpp b/src/gui/text/qfontengine_qpa.cpp index 843e944fd3..6fd85150e3 100644 --- a/src/gui/text/qfontengine_qpa.cpp +++ b/src/gui/text/qfontengine_qpa.cpp @@ -666,9 +666,11 @@ QFontEngineMultiQPA::QFontEngineMultiQPA(QFontEngine *fe, int _script, const QSt : QFontEngineMulti(fallbacks.size() + 1), fallbackFamilies(fallbacks), script(_script) { + Q_ASSERT(fe && fe->type() != QFontEngine::Multi); engines[0] = fe; fe->ref.ref(); fontDef = engines[0]->fontDef; + setObjectName(QStringLiteral("QFontEngineMultiQPA")); } void QFontEngineMultiQPA::loadEngine(int at) |