While there's not a graceful way to discern between user cancellation and an actual error,
the former is more likely so we bail out when encountering an error.
BUG: 422175
The prototype for crypt(3) is in <unistd.h> on Linux and FreeBSD.
The <crypt.h> header isn't needed at all. There's also machinery
for detecting the presence of <crypt.h>, defining HAVE_CRYPT_H,
but we don't need that.
Reported and resolved independently in
https://phabricator.kde.org/D29847@nicofe tested that this works on Linux
@adridg tested that this works on FreeBSD
- Missing letter "w" and "W" in list of characters meant only 62
letters, so less than 6 bits of randomness per salt char.
- A char array like this one still has a trailing NUL char which
affects the sizeof. Since bounded produces a number < its second
argument, need to discount the NUL so we only index into
the letters-part of the string.
Add static_assert() to catch this.
- the array of salt chars should be const, it's read-only
- the array of salt chars should be static, since it is
initialized to a constant value anyway and can live beyond
this one function
- sizeof(char) is 1 by the standard, so remove the weird
array-size calculation: here saltCharacters has type
(const) char[63], and its sizeof() is 63
```
std::size_t is the unsigned integer type of the result of the sizeof
operator
```
this can make the bounded call ambiguous as it either sports
an int(int,int) signature or an quint32(quint32,quint32) signature. with
size_t being unsigned and 0 being int it's not necessarily clear to the
compiler which overload to use, so make it clear by using usigned
everywhere.
this specifically fixes arm32 compatibility on ubuntu 20.04
Currently there are two desktop files with metadata, one for the C++ plugin and one for the kpackage
There is some overlap between the two and it's confusing which value is used where
Merge the two like we do for some other KCMs to reduce the confusion
When applying an accent color, the color was added to the color scheme's
Header color group. But not all color schemes have this group, and
adding it made the color scheme break in creative ways.
BUG: 443786
FIXED-IN: 5.23.1
ManagedConfigModule::save() writes the value for the 'ColorScheme' entry to disk.
If we notify the settings change anyone who connects to it may read the old value before the new one is saved.
To avoid this race consition emit the signal after saving instead of before
'xrdb -remove' can't remove a specific entry, it removes all entries only.
So query all entries, remove "Xft.dpi" from them, and replace Xresources
with the result.
BUG: 350039
CCBUG: 376406
Previously, the tooltips referred to generic "Open an existing document" or
"Print document", as defined in the kframework.
These descriptions now match what they do, since they are specific to font
files and printing font previews. This updates both the menubar action
tooltips as well as button tooltips.
StartPlasma's fontDPI syncs the current font DPI to xrdb, which affects
font DPI for X applications (inc apps run in xwayland)
This is seldom used on wayland as with framebuffer scaling you don't
want to adjust your font DPI, but it is used by some users. As it's
xrdb, it needs to come after Xwayland is started for the wayland case.
The goal of this patch is to move towards killing the
startplasma-waylandsession binary as well as just being better design to
have these things comparmentalised.
kcminit is very early in the boot process before all GUI apps with the
exception of ksplash. I don't think this will make a big difference as
that's just a picture anyway?