summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-13 16:23:55 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-13 14:06:21 +0000
commit9493861305f37d323ccf8dac0d2ecef408e2ab21 (patch)
treef53ade5b2d3f07678fe835e7fdf57cd73bdfb6cd
parentb1438f7ec28c72abfe0de6d2509f31fab8ddb51f (diff)
downloadqtsvg-9493861305f37d323ccf8dac0d2ecef408e2ab21.tar.gz
QSvgIconEngine: fix expensive iteration over QHash::keys()
Change-Id: I5bb1c630eff9d484098fcade5da6b1ed3680bc27 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-rw-r--r--src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp10
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)