diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-01-13 16:23:55 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-01-13 14:06:21 +0000 |
commit | 9493861305f37d323ccf8dac0d2ecef408e2ab21 (patch) | |
tree | f53ade5b2d3f07678fe835e7fdf57cd73bdfb6cd /src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp | |
parent | b1438f7ec28c72abfe0de6d2509f31fab8ddb51f (diff) | |
download | qtsvg-9493861305f37d323ccf8dac0d2ecef408e2ab21.tar.gz |
QSvgIconEngine: fix expensive iteration over QHash::keys()
Change-Id: I5bb1c630eff9d484098fcade5da6b1ed3680bc27
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp')
-rw-r--r-- | src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp b/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp index 2ae711f..2cb2e84 100644 --- a/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp +++ b/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp @@ -249,8 +249,8 @@ bool QSvgIconEngine::read(QDataStream &in) in >> fileNames >> isCompressed >> *d->svgBuffers; #ifndef QT_NO_COMPRESS if (!isCompressed) { - foreach(int key, d->svgBuffers->keys()) - d->svgBuffers->insert(key, qCompress(d->svgBuffers->value(key))); + for (auto it = d->svgBuffers->begin(), end = d->svgBuffers->end(); it != end; ++it) + it.value() = qCompress(it.value()); } #else if (isCompressed) { @@ -306,15 +306,15 @@ bool QSvgIconEngine::write(QDataStream &out) const QHash<int, QByteArray> svgBuffers; if (d->svgBuffers) svgBuffers = *d->svgBuffers; - foreach(int key, d->svgFiles.keys()) { + for (auto it = d->svgFiles.cbegin(), end = d->svgFiles.cend(); it != end; ++it) { QByteArray buf; - QFile f(d->svgFiles.value(key)); + QFile f(it.value()); if (f.open(QIODevice::ReadOnly)) buf = f.readAll(); #ifndef QT_NO_COMPRESS buf = qCompress(buf); #endif - svgBuffers.insert(key, buf); + svgBuffers.insert(it.key(), buf); } out << d->svgFiles << isCompressed << svgBuffers; if (d->addedPixmaps) |