summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qtextengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/text/qtextengine.cpp')
-rw-r--r--src/gui/text/qtextengine.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index b31b880693..898538b64f 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -2351,8 +2351,8 @@ QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFix
font = font.resolve(fnt);
}
engine = font.d->engineForScript(script);
- if (engine)
- engine->ref.ref();
+ Q_ASSERT(engine);
+ engine->ref.ref();
QTextCharFormat::VerticalAlignment valign = f.verticalAlignment();
if (valign == QTextCharFormat::AlignSuperScript || valign == QTextCharFormat::AlignSubScript) {
@@ -2382,9 +2382,8 @@ QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFix
engine = feCache.prevFontEngine;
else {
engine = font.d->engineForScript(script);
-
- if (engine)
- engine->ref.ref();
+ Q_ASSERT(engine);
+ engine->ref.ref();
if (feCache.prevFontEngine)
releaseCachedFontEngine(feCache.prevFontEngine);
feCache.prevFontEngine = engine;
@@ -2402,7 +2401,10 @@ QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFix
}
}
- if (ascent) {
+ if (leading) {
+ Q_ASSERT(engine);
+ Q_ASSERT(ascent);
+ Q_ASSERT(descent);
*ascent = engine->ascent();
*descent = engine->descent();
*leading = engine->leading();