diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2014-10-08 12:44:06 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2014-10-09 09:42:17 +0200 |
commit | a5b647804bcf780930e4f7e3271622281c20fde4 (patch) | |
tree | c37ecd93b898a596c2ac8be5afd08ce5347017ac /src/corelib/plugin/qfactoryloader.cpp | |
parent | 1cc06b2e9499b65ac30bbc667cf99e0077c48af7 (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>
Diffstat (limited to 'src/corelib/plugin/qfactoryloader.cpp')
-rw-r--r-- | src/corelib/plugin/qfactoryloader.cpp | 12 |
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(); |