diff options
author | Kevin Funk <kfunk@kde.org> | 2016-02-19 00:53:48 +0100 |
---|---|---|
committer | Kevin Funk <kfunk@kde.org> | 2016-02-19 00:55:07 +0100 |
commit | d9b3ce9038ed83d4967eb9a5111d57f6081a1394 (patch) | |
tree | aee62edf1423f9cef1fe3b39df0567cb79ecdbd7 /src/core/kconfigini.cpp | |
parent | 97190f92c27932134b4045a9c71e764cb1081394 (diff) | |
download | kconfig-d9b3ce9038ed83d4967eb9a5111d57f6081a1394.tar.gz kconfig-d9b3ce9038ed83d4967eb9a5111d57f6081a1394.tar.bz2 |
KConfigIniBackend: Fix expensive detach in lookup
Differential Revision: https://phabricator.kde.org/D990
Diffstat (limited to 'src/core/kconfigini.cpp')
-rw-r--r-- | src/core/kconfigini.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/kconfigini.cpp b/src/core/kconfigini.cpp index 83a6c3cf..3d0af962 100644 --- a/src/core/kconfigini.cpp +++ b/src/core/kconfigini.cpp @@ -46,11 +46,12 @@ KCONFIGCORE_EXPORT bool kde_kiosk_exception = false; // flag to disable kiosk re static QByteArray lookup(const KConfigIniBackend::BufferFragment &fragment, QHash<KConfigIniBackend::BufferFragment, QByteArray> *cache) { - QHash<KConfigIniBackend::BufferFragment, QByteArray>::iterator it = cache->find(fragment); - if (it == cache->end()) { - it = cache->insert(fragment, fragment.toByteArray()); + auto it = cache->constFind(fragment); + if (it != cache->constEnd()) { + return it.value(); } - return it.value(); + + return cache->insert(fragment, fragment.toByteArray()).value(); } QString KConfigIniBackend::warningProlog(const QFile &file, int line) |