Bug 431453 - Can't apply new themes anymore
Summary: Can't apply new themes anymore
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_sddm (show other bugs)
Version: unspecified
Platform: Other Linux
: HI grave
Target Milestone: ---
Assignee: David Redondo
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2021-01-11 17:31 UTC by Nate Graham
Modified: 2021-02-16 15:10 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Blank error message (204.87 KB, image/jpeg)
2021-01-11 17:31 UTC, Nate Graham
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2021-01-11 17:31:58 UTC
Created attachment 134747 [details]
Blank error message

With the big new KCM rewrite, I can no longer apply new themes. This worked the first time I tested the KCM, but seems to have broken sometime between then and when it was merged.

When I select a different theme and click on the "Apply" button, I get a blank error InlineMessage at the top of the KCM, and the new theme is not applied. See attached screenshot. Nothing particularly relevant is printed to the console.
Comment 1 Nate Graham 2021-01-11 17:32:30 UTC
David, could you have a look? Thanks!
Comment 2 David Redondo 2021-01-12 08:31:01 UTC
I tested again  and it works but testing locally is a bit pelicular.

1. The usual kauth in a prefix things

2. Sddm uses config files in /etc and in /usr/lib but I am not sure what happens if sddm is also installed in a prefix. The kcm  uses cmake to set the paths 
https://invent.kde.org/plasma/sddm-kcm/-/blob/master/src/CMakeLists.txt#L1 which will set them to your prefix if you install it to your prefix. I lack context to why this was done.

3. The blank error message is not good, we should probably fallback to errorText() if errorString() is empty and always print errorText()
Comment 3 Nate Graham 2021-01-12 17:28:57 UTC
1. I copy my prefix kauth stuff to /

2. I don't have a local SDDM build in the prefix path
Comment 4 David Redondo 2021-01-12 18:06:32 UTC
That's why I am suspecting it is not working.
The kcm writes to the prefix (for example ~/kde/usr/etc/sddm.conf.d/) but your sddm reads only from (/etc/sddm.conf.d/)
Comment 5 Nate Graham 2021-01-12 21:12:21 UTC
FWIW I was able to apply new themes with the old KCM even installed to a prefix.
Comment 6 David Redondo 2021-01-13 07:58:44 UTC
(In reply to Nate Graham from comment #5)
> FWIW I was able to apply new themes with the old KCM even installed to a
> prefix.

Huh? The config file path generation and saving (via the helper) is the same as the old kcm. See the link above it uses CMAKE_INSTALL_FULL_SYSCONFDIR and on my machine this evaluates to a path in my prefix

One thing which then could be wrong is that we do not pass the correct arguments to the kauth helper, I will take another look
Comment 7 David Redondo 2021-01-13 09:38:58 UTC
I can repduce it but do not understand why it broke without touching the files
Comment 8 David Redondo 2021-01-13 12:41:14 UTC
Ok it worked for me, stopped working consistently (see above) and then I rebuild the kcm and kauth a bunch of times and it works again.

I tested in a fresh neon unstable vm and there it works too
Comment 9 Nate Graham 2021-02-16 15:10:44 UTC
Now that Plasma 5.21 is released, this is moot, since it works with released packages.