diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-05-21 13:15:28 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-24 09:48:27 +0200 |
commit | 662c0a722a70cbd727e0b208777a787439705736 (patch) | |
tree | 645236e0d94bcebacd6782affda24e594254a05f /src/corelib/plugin | |
parent | 36f469bdb1c705f0082610a4fe9fd88b90accd24 (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/plugin')
-rw-r--r-- | src/corelib/plugin/qfactoryloader.cpp | 6 |
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(); |