diff options
author | Robin Burchell <robin.burchell@crimson.no> | 2018-06-13 22:57:27 +0200 |
---|---|---|
committer | Robin Burchell <robin.burchell@crimson.no> | 2018-06-26 08:47:46 +0000 |
commit | 9480734ef1b0f37aefdb7f0988af725936a9ec40 (patch) | |
tree | 739c76a9d2da98138a6cc0afe36f586ee0d8d712 /src/quick/scenegraph/qsgadaptationlayer.cpp | |
parent | d5adc61b1fe358f7ba5d3570305eaf0733426e2f (diff) |
QSGAdaptationLayer: Remove QLinkedList usage
This is O(n), which hurts with a large number of consumers.
Change-Id: I970da3ddee40cf4e47d2c278e9a480db1cf90cd3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/quick/scenegraph/qsgadaptationlayer.cpp')
-rw-r--r-- | src/quick/scenegraph/qsgadaptationlayer.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/quick/scenegraph/qsgadaptationlayer.cpp b/src/quick/scenegraph/qsgadaptationlayer.cpp index c64360f955..46af0f28f0 100644 --- a/src/quick/scenegraph/qsgadaptationlayer.cpp +++ b/src/quick/scenegraph/qsgadaptationlayer.cpp @@ -234,10 +234,8 @@ void QSGDistanceFieldGlyphCache::setGlyphsPosition(const QList<GlyphPosition> &g } if (!invalidatedGlyphs.isEmpty()) { - QLinkedList<QSGDistanceFieldGlyphConsumer *>::iterator it = m_registeredNodes.begin(); - while (it != m_registeredNodes.end()) { - (*it)->invalidateGlyphs(invalidatedGlyphs); - ++it; + for (QSGDistanceFieldGlyphConsumerList::iterator iter = m_registeredNodes.begin(); iter != m_registeredNodes.end(); ++iter) { + iter->invalidateGlyphs(invalidatedGlyphs); } } } @@ -280,10 +278,8 @@ void QSGDistanceFieldGlyphCache::setGlyphsTexture(const QVector<glyph_t> &glyphs } if (!invalidatedGlyphs.isEmpty()) { - QLinkedList<QSGDistanceFieldGlyphConsumer*>::iterator it = m_registeredNodes.begin(); - while (it != m_registeredNodes.end()) { - (*it)->invalidateGlyphs(invalidatedGlyphs); - ++it; + for (QSGDistanceFieldGlyphConsumerList::iterator iter = m_registeredNodes.begin(); iter != m_registeredNodes.end(); ++iter) { + iter->invalidateGlyphs(invalidatedGlyphs); } } } |