summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/runtime/q3dsscenemanager.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/runtime/q3dsscenemanager.cpp b/src/runtime/q3dsscenemanager.cpp
index 051dd94..71cb74e 100644
--- a/src/runtime/q3dsscenemanager.cpp
+++ b/src/runtime/q3dsscenemanager.cpp
@@ -5234,6 +5234,8 @@ Qt3DCore::QEntity *Q3DSSceneManager::buildText(Q3DSTextNode *text3DS, Q3DSLayerN
glyphInfo.fontScale = float(fontScale);
glyphInfo.shadowOffsetX = shadowOffsetX;
glyphInfo.shadowOffsetY = shadowOffsetY;
+ glyphInfo.cache = cache;
+ glyphInfo.glyphIndexes.append(glyphIndex);
QVector<float> &vertexes = glyphInfo.vertexes;
vertexes.reserve(vertexes.size() + 20 + (text3DS->shadow() ? 16 : 0));
@@ -5361,9 +5363,7 @@ Qt3DCore::QEntity *Q3DSSceneManager::buildText(Q3DSTextNode *text3DS, Q3DSLayerN
const QVector<float> &vertexes = glyphInfo.vertexes;
Q_ASSERT(!vertexes.isEmpty());
- QPair<Q3DSDistanceFieldGlyphCache *, QVector<quint32> > &glyphsReferenced = data->glyphsReferencedInSubentity[subentityIndex];
- if (glyphsReferenced.first != nullptr && !glyphsReferenced.second.isEmpty())
- glyphsReferenced.first->release(glyphsReferenced.second);
+ data->glyphsReferencedInSubentity[subentityIndex] = qMakePair(glyphInfo.cache, glyphInfo.glyphIndexes);
Qt3DCore::QEntity *subentity = subentities.at(subentityIndex++);
Q_ASSERT(subentity != nullptr);