If we know that a field is X-Flatpak-RenamedFrom, read it with the XDG string list specific codepath.
Otherwise we get something such as QStringList("potato;potatoe") which is not really helpful.
Details
At the moment we don't get anymore X-Flatpak-RenamedFrom as
QVariant(QStringList, ("vlc.desktop;"))
Diff Detail
- Repository
- R309 KService
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
This sounds wrong. The XDG-mandated entries use XDG separators, but the KDE entries don't (for instance, grepping my installed desktop files I can see those: X-Plasma-RequiredExtensions, X-Plasma-DropMimeTypes, X-KDE-FormFactors, X-KIPI-PluginCategories, X-KDE-ParentComponents in kdepim, they all use a comma separator).
Yes it's a mess. KDE1 had ';', the XDG standard picked that up, then KDE2 switched to ',' and now we have a mix. The way we handle this mess is that, in KConfig and in KService, the default is ',' and we specifically use readXdgListEntry for XDG entries.
I think this means the correct fix here is to specifically hardcode X-Flatpak-RenamedFrom instead of testing the property type.
How? You think we should change all our config files to use ';'? Welcome to migration hell.
(I looked at the KConfig history, and in fact the separator was initially a method argument which defaulted to comma, I was wrong about it being ';' initially. No idea how we ended up with ';' in XDG then)