summaryrefslogtreecommitdiffstats
path: root/src/corelib/plugin/qpluginloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/plugin/qpluginloader.cpp')
-rw-r--r--src/corelib/plugin/qpluginloader.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp
index 9afdf0e5374..eca85eb82ee 100644
--- a/src/corelib/plugin/qpluginloader.cpp
+++ b/src/corelib/plugin/qpluginloader.cpp
@@ -47,6 +47,10 @@
#include "qfileinfo.h"
#include "qjsondocument.h"
+#if QT_CONFIG(library)
+# include "qlibrary_p.h"
+#endif
+
QT_BEGIN_NAMESPACE
#if QT_CONFIG(library)
@@ -185,7 +189,7 @@ QJsonObject QPluginLoader::metaData() const
{
if (!d)
return QJsonObject();
- return d->metaData;
+ return d->metaData.toJson();
}
/*!
@@ -477,13 +481,10 @@ QList<QStaticPlugin> QPluginLoader::staticPlugins()
*/
QJsonObject QStaticPlugin::metaData() const
{
- auto ptr = static_cast<const char *>(rawMetaData);
-
- QString errMsg;
- QJsonDocument doc = qJsonFromRawLibraryMetaData(ptr, rawMetaDataSize, &errMsg);
- Q_ASSERT(doc.isObject());
- Q_ASSERT(errMsg.isEmpty());
- return doc.object();
+ QByteArrayView data(static_cast<const char *>(rawMetaData), rawMetaDataSize);
+ QPluginParsedMetaData parsed(data);
+ Q_ASSERT(!parsed.isError());
+ return parsed.toJson();
}
QT_END_NAMESPACE