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

--- Comment #3 from Friedrich W. H. Kossebau <kosse...@kde.org> ---
>From a first look for potential culprit code, it seems the issue is how the
theme id is generated in the libkdegames classes used in the new code
(KgThemeProvider):
`KgThemeProvider::rediscoverThemes()` goes over all
`QStandardPaths::locateAll(QStandardPaths::AppDataLocation, "themes",
QStandardPaths::LocateDirectory)` and collects the full path to the desktop
files. Then it generates the theme id by first turning the desktop file path to
a canonical version by `QFileInfo(file).canonicalFilePath()` and going once
more over all
`QStandardPaths::standardLocations(QStandardPaths::AppDataLocation)` and, if
any of the latter path is a prefix to the canonical desktop file path,
subtracts that prefix from the path to get the id. ((oh dear, how random people
porting convoluted that logic :) )).
See
https://invent.kde.org/games/libkdegames/-/blob/master/src/kgthemeprovider.cpp#L185
and
https://invent.kde.org/games/libkdegames/-/blob/master/src/kgthemeprovider.cpp#L174

My theory is that the logic of that code seems to miss out some constellation
on your system, where QStandardPaths calls deliver some paths which would be
turned to something else by the idea of QFileInfo about what the canonical
version is.

Are you capable to add some fprint debug lines to libkdegames yourself to get
insight into the respective values used there?

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

Reply via email to