REVIEW:128102
Set encoding on kconfig_compiler generated cpp and headers
to utf-8 ( reproducible builds ) Under certain locals non
standard characters will get dropped making builds un reproducible.
Setting the encoding to utf-8 on the files makes all builds reproducible
no matter what ( or none ) locale is in use. Thereby making the build reproducible.
Previously, if a .desktop file had a TryExec and a X-KDE-AuthorizeAction
entry we would skip the KAuthorized check. This is clearly wrong.
REVIEW: 127948
The typedef is copied here to avoid including the header that contains
it. However, this confuses sip if binding definitions are generated
from the C++ headers. Simply inline the typedef instead.
Inside desktop files we want to reach also data, cache and config home
to create files inside these directories.
REVIEW: 127462
CHANGELOG: Add support for get QStandardPaths locations inside desktop files.
These fields should all be written to before they are read during normal
operation, but this ensures they have a sensible default in case they are not.
Coverity issue 1291513.
This seems to be left over from KDE 3.5 times, and isn't referenced anywhere
in the code. Since its a private header, just remove.
Found by Coverity, issue 1175531.
REVIEW: 126555
During a kconf_update run, an invalid group name may be treated as correct
even though the name failed to unescape. This leads the group name to be
a null character, which will fail.
If the unescape failed, return that failure status instead. This should have
no impact, as the previous result would have been wrong anyways. Now a
more useful diagnostic will be returned instead.
Update the unit tests to ensure this issue is tested in the future.
Found in Coverity issue 258087.
REVIEW: 126556
Due to https://codereview.qt-project.org/#/c/106473/, Qt 5.6 keeps null
characters in QByteArray -> QString conversions, which breaks this test as
one QByteArray contains nulls. Instead, convert the QByteArray to const
char * first, so QString stops at the first null.
The actual behaviour of KConfig is unchanged, as internally the conversion
always went through a const char *, which avoids creating QStrings with
null characters.
REVIEW: 126001