summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2014-10-08 12:44:06 +0200
committerMarc Mutz <marc.mutz@kdab.com>2014-10-09 09:42:17 +0200
commita5b647804bcf780930e4f7e3271622281c20fde4 (patch)
treec37ecd93b898a596c2ac8be5afd08ce5347017ac
parent1cc06b2e9499b65ac30bbc667cf99e0077c48af7 (diff)
QFactoryLoader: de-duplicate two QStringLiterals
When seemingly identical QStringLiterals are used in different functions, due to the use of lambdas and scoping, they produce different lambda types and thus duplicated QStringLiteral data. Fix by moving the QStringLiterals into inline functions and calling those instead. Change-Id: Ifaa124ec74e201ccc63fd9afce042f8b2ff22b9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
index 411d1dfdd5..bd5032dcc0 100644
--- a/src/corelib/plugin/qfactoryloader.cpp
+++ b/src/corelib/plugin/qfactoryloader.cpp
@@ -290,11 +290,15 @@ void QFactoryLoader::refreshAll()
}
}
+// avoid duplicate QStringLiteral data:
+static inline QString metaDataKeyLiteral() { return QStringLiteral("MetaData"); }
+static inline QString keysKeyLiteral() { return QStringLiteral("Keys"); }
+
QMultiMap<int, QString> QFactoryLoader::keyMap() const
{
QMultiMap<int, QString> result;
- const QString metaDataKey = QStringLiteral("MetaData");
- const QString keysKey = QStringLiteral("Keys");
+ const QString metaDataKey = metaDataKeyLiteral();
+ const QString keysKey = keysKeyLiteral();
const QList<QJsonObject> metaDataList = metaData();
for (int i = 0; i < metaDataList.size(); ++i) {
const QJsonObject metaData = metaDataList.at(i).value(metaDataKey).toObject();
@@ -308,8 +312,8 @@ QMultiMap<int, QString> QFactoryLoader::keyMap() const
int QFactoryLoader::indexOf(const QString &needle) const
{
- const QString metaDataKey = QStringLiteral("MetaData");
- const QString keysKey = QStringLiteral("Keys");
+ const QString metaDataKey = metaDataKeyLiteral();
+ const QString keysKey = keysKeyLiteral();
const QList<QJsonObject> metaDataList = metaData();
for (int i = 0; i < metaDataList.size(); ++i) {
const QJsonObject metaData = metaDataList.at(i).value(metaDataKey).toObject();