diff --git a/src/corelib/io/qloggingregistry.cpp b/src/corelib/io/qloggingregistry.cpp index 7745b8ad945..ee7b7c56132 100644 --- a/src/corelib/io/qloggingregistry.cpp +++ b/src/corelib/io/qloggingregistry.cpp @@ -337,11 +337,9 @@ void QLoggingRegistry::registerCategory(QLoggingCategory *cat, QtMsgType enableF { const auto locker = qt_scoped_lock(registryMutex); - const auto oldSize = categories.size(); - auto &e = categories[cat]; - if (categories.size() != oldSize) { + auto r = categories.tryEmplace(cat, enableForLevel); + if (r.inserted) { // new entry - e = enableForLevel; (*categoryFilter)(cat); } } diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index 045f1e80d4a..f3b9937f6b7 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -1688,12 +1688,8 @@ public: bool insertIfNotContains(Key k, const T &f) { const QWriteLocker locker(&lock); - const qsizetype oldSize = map.size(); - auto &e = map[k]; - if (map.size() == oldSize) // already present - return false; - e = f; - return true; + auto r = map.tryEmplace(k, f); + return r.inserted; } const T *function(Key k) const