From 889190cfc3c8ec601419236f6419275033770238 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 22 Aug 2011 14:53:59 +0200 Subject: QFontEngine: Avoid nesting multi-fontengines. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Samuel Rødal --- src/gui/text/qfontdatabase_qpa.cpp | 2 +- src/gui/text/qfontengine_qpa.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src') 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) -- cgit v1.2.3