summaryrefslogtreecommitdiffstats
path: root/src/gui/text
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2014-03-07 02:46:45 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-11 03:39:26 +0100
commitc3b2425791ec1e17a8b1e2f5b35b8e79176fc9c4 (patch)
treed5e259cdc0979bddf2ce564eb8b4ba2bbf5bb3b1 /src/gui/text
parent4b3d11efc04c9fb2bf8bb43d841a9f05b34a8c84 (diff)
Guarantee QPFDB::fontEngine() always return non-multi font engine
After QPA refactoring, QWindowsFontDatabase::fontEngine() was returning a multi font engine w/o any particular reason. This makes the code more obvious and opens the road to further improvements. Change-Id: I4858026ddf774d3159c89357b1c905f5112b1c51 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/gui/text')
-rw-r--r--src/gui/text/qfontdatabase.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index fbb7fe02d6..1dfccca57c 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -790,6 +790,7 @@ QFontEngine *loadSingleEngine(int script,
if (!engine) {
engine = pfdb->fontEngine(def, size->handle);
if (engine) {
+ Q_ASSERT(engine->type() != QFontEngine::Multi);
// Also check for OpenType tables when using complex scripts
if (!engine->supportsScript(QChar::Script(script))) {
qWarning(" OpenType support missing for script %d", script);
@@ -809,12 +810,10 @@ QFontEngine *loadEngine(int script, const QFontDef &request,
QtFontFamily *family, QtFontFoundry *foundry,
QtFontStyle *style, QtFontSize *size)
{
-
QFontEngine *engine = loadSingleEngine(script, request, foundry, style, size);
- //make sure that the db has all fallback families
- if (engine && engine->type() != QFontEngine::Multi
- && !(request.styleStrategy & QFont::NoFontMerging) && !engine->symbol ) {
-
+ Q_ASSERT(!engine || engine->type() != QFontEngine::Multi);
+ if (engine && !(request.styleStrategy & QFont::NoFontMerging) && !engine->symbol) {
+ // make sure that the db has all fallback families
if (family && !family->askedForFallback) {
QFont::Style fontStyle = QFont::Style(style->key.style);
QFont::StyleHint styleHint = QFont::StyleHint(request.styleHint);