diff options
-rw-r--r-- | src/runtime/q3dsscenemanager.cpp | 6 |
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); |