https://bugs.kde.org/show_bug.cgi?id=412464

--- Comment #1 from Wolfgang Bauer <wba...@tmo.at> ---
I did some more investigation...

The new code in plasma-framework does KPluginMetaData metadata(pluginPath);
And pluginPath is the path to the plugin's .so file.
These plugins have their metadata in a .desktop file though, not in the .so
file.

Corresponding code in kcoreaddons:
KPluginMetaData::KPluginMetaData(const QString &file)
{
    if (file.endsWith(QLatin1String(".desktop"))) {
        loadFromDesktopFile(file, QStringList());
    } else if (file.endsWith(QLatin1String(".json"))) {
        d = new KPluginMetaDataPrivate;
        QFile f(file);
        bool b = f.open(QIODevice::ReadOnly);
        if (!b) {
            qCWarning(KCOREADDONS_DEBUG) << "Couldn't open" << file;
            return;
        }

        QJsonParseError error;
        m_metaData = QJsonDocument::fromJson(f.readAll(), &error).object();
        if (error.error) {
            qCWarning(KCOREADDONS_DEBUG) << "error parsing" << file <<
error.errorString();
        }
        m_fileName = file;
        d->metaDataFileName = file;
    } else {
        QPluginLoader loader(file);
        m_fileName = QFileInfo(loader.fileName()).absoluteFilePath();
        m_metaData =
loader.metaData().value(QStringLiteral("MetaData")).toObject();
    }
}
I.e. it uses QPluginLoader here to get the metadata from the .so file, which is
empty (because the metadata is actually in the .desktop file only).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to