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>bb10
parent
1cc06b2e94
commit
a5b647804b
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Reference in New Issue