Skip to content

Fix KPluginSelector KCMs missing their metadata on plugin loading

Alexander Lohnau requested to merge work/alex/kwin_5_23_fix into master

For the KWin KCMs we need the full metadata, because we read the plugin keyword.

Without the X-KDE-ConfigModule key, plugins used to create a symlink in the kservices5 folder to their metadata, which then goes through the legacy code path we would read all the metadata. This includes the plugin keyword.

When consumers would this key, but have an old KWin version which used the KPluginSelector class and a kcmutils version which reads X-KDE-ConfigModule, but does not include this bugfix, the plugin keyword will be empty and thus the config files can not be located.

This makes it hard to fix the loading on kcmutils < 5.91, but keeping the code working with KWin < 5.24.

To test this, you should check out KWin 5.23 and kcmutils master. Fox example https://github.com/nclarius/tile-gaps/ will then fail to load it's config. With this change included, it should load properly.

BUG: 444378

Merge request reports