diff --git a/src/quick/items/qquicktextnodeengine_p.h b/src/quick/items/qquicktextnodeengine_p.h index 165abe4..d829fea 100644 --- a/src/quick/items/qquicktextnodeengine_p.h +++ b/src/quick/items/qquicktextnodeengine_p.h @@ -112,7 +112,8 @@ public: static void inOrder(const QVarLengthArray &binaryTree, QVarLengthArray *sortedIndexes, int currentIndex = 0); }; - QQuickTextNodeEngine() : m_hasSelection(false), m_hasContents(false) {} + QQuickTextNodeEngine() : m_hasSelection(false), m_hasContents(false) { qDebug(__FUNCTION__); } + ~QQuickTextNodeEngine() { qDebug(__FUNCTION__); } bool hasContents() const { return m_hasContents; } void addTextBlock(QTextDocument *, const QTextBlock &, const QPointF &position, const QColor &textColor, const QColor& anchorColor, int selectionStart, int selectionEnd); diff --git a/src/quick/scenegraph/qsgcontext.cpp b/src/quick/scenegraph/qsgcontext.cpp index 202ae91..3da92a4 100644 --- a/src/quick/scenegraph/qsgcontext.cpp +++ b/src/quick/scenegraph/qsgcontext.cpp @@ -494,8 +494,11 @@ void QSGRenderContext::invalidate() // code is only called from QQuickWindow's shutdown which is called // only when the GUI is blocked, and multiple threads will call it in // sequence. (see qsgdefaultglyphnode_p.cpp's init()) - for (QSet::const_iterator it = m_fontEnginesToClean.constBegin(), + qDebug() << __FUNCTION__ << QThread::currentThreadId() << m_fontEnginesToClean; + for (QSet::const_iterator it = m_fontEnginesToClean.constBegin(), end = m_fontEnginesToClean.constEnd(); it != end; ++it) { + qDebug() << __FUNCTION__ << "clearGlyphCache"; + qDebug() << (*it)->fontDef.family; (*it)->clearGlyphCache(m_gl); } m_fontEnginesToClean.clear();