summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-05-21 13:15:28 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-24 09:48:27 +0200
commit662c0a722a70cbd727e0b208777a787439705736 (patch)
tree645236e0d94bcebacd6782affda24e594254a05f /src/corelib
parent36f469bdb1c705f0082610a4fe9fd88b90accd24 (diff)
Populate MetaData:Keys for compat plugins
QFactoryLoader::indexOf() expects the meta-data to contain a Keys entry, if there were any keys. For compat plugins, the result of the plugin's keys() function should be stored here. Change-Id: Ifd04f90cbfce2598d71548c469baa55ca6b0b338 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
index 67b59f96ec..1e70e340d0 100644
--- a/src/corelib/plugin/qfactoryloader.cpp
+++ b/src/corelib/plugin/qfactoryloader.cpp
@@ -168,8 +168,12 @@ void QFactoryLoader::update()
if (instance && factory && instance->qt_metacast(d->iid))
keys = factory->keys();
- if (!keys.isEmpty())
+ if (!keys.isEmpty()) {
metaDataOk = true;
+ QJsonObject object = library->metaData.value(QLatin1String("MetaData")).toObject();
+ object.insert(QLatin1String("Keys"), QJsonArray::fromStringList(keys));
+ library->metaData[QLatin1String("MetaData")] = object;
+ }
} else {
QString iid = library->metaData.value(QLatin1String("IID")).toString();