- 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
Previously, clicking the Edit button opened a dialog to edit it in. Now
it is done inside the applet itself. This makes it much less disruptive
and jarring, and makes the editing action feel smoother.
XdgActivationTokens are loaded async. To acheive a job like pattern we
were comparing serials in our slot when one was created.
On wayland this isn't ideal because we're slowly building up an
increasibly long list of lambdas being run, but they'll all no-op.
On X11 because lastInputSerial is always 0 we run the slot multiple
times for every system tray item each time an item is clicked or an
application is launched.
For xembedsniproxy this is especially problematic problematic as we will
trigger synthesised input events in our slot.
BUG: 444385
This timer is used to delay the shell state being refreshed and when a new screen is available.
It seems unnecessary to have such a long delay, once screen geometry are stable to work with.
Right now we are bodging the track label into being this, but it looks
bad and doesn't use the standardized component, which it should. So now
it does.
BUG: 444322
FIXED-IN: 5.24
Needs c815c7a9bc
Currently the logic is very fragile and depends on the data being an url.
However the data of the match is an implementation detail and is in case of the KCM matches
a KPluginMetaData instance.
To avoid this issue the first url of the QueryMatch::urls() return value is checked.
This data is intended for mime-type/scheme related operations.
In the future we need an extra url for systemsettings & should consistently use the
urls of the query match. I will work on this before continuing to port the
plasma KCMs from KServiceTypeTrader.
BUG: 442522
A placeholder screen is created by Qt when no real screens exist. We
don't want to create panels and containments for those, it is a whole
world of pain.
Plasma has a hook to ignore some screens which is extended with this
check.
CCBUG: 419492
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