summaryrefslogtreecommitdiffstats
path: root/src/gui/text
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2014-01-29 16:47:08 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-03 12:13:22 +0100
commitf34e0800630df74c77e9038572691bcf9420df78 (patch)
tree3d81f0042ad0f46dc9276cab03825b486a6c91da /src/gui/text
parent64d95e3df27c4e859b2b7e88aac0640bc5c2ddd9 (diff)
Fix access after delete with Harfbuzz NG code path.
Remove reference to released font-engine so we don't risk returning it later. Change-Id: I741a741567a079818c7f414ac1f9c0b5a9677322 Task-number: QTBUG-36522 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Diffstat (limited to 'src/gui/text')
-rw-r--r--src/gui/text/qtextengine.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index 06c5e24920..c2e352eff4 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -1875,8 +1875,10 @@ QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFix
feCache.prevFontEngine = engine;
feCache.prevScript = script;
engine->ref.ref();
- if (feCache.prevScaledFontEngine)
+ if (feCache.prevScaledFontEngine) {
releaseCachedFontEngine(feCache.prevScaledFontEngine);
+ feCache.prevScaledFontEngine = 0;
+ }
}
if (si.analysis.flags & QFont::SmallCaps) {
if (feCache.prevScaledFontEngine) {