Hi all,
I was investigating this bug..
https://bugs.kde.org/show_bug.cgi?id=343583

but after digging and digging, it looks like more and more an issue in 
KConfig..
basically if there is a config file in a system-wide location (to give default 
configs that would then be overridden by whatever other value in ~/.config)

config writing will be wrong. a KConfigGroup::writeEntry will end up writing 
*twice* the key, both with the value specified in the global config file 
(instead 
of the one passed to writeentry)

As far i understood may be an issue in the kconfig backend that does the actual 
write,
the patch below appears to fix the problem, but i guess is very wrong (it will 
just skip writing any default value)

Do somebody has a smarter idea? :)

Cheers
Marco Martin

diff --git a/src/core/kconfigini.cpp b/src/core/kconfigini.cpp                  
                 
index 856b7b7..486cfcb 100644
--- a/src/core/kconfigini.cpp
+++ b/src/core/kconfigini.cpp
@@ -319,7 +319,7 @@ void KConfigIniBackend::writeEntries(const QByteArray 
&locale, QIODevice &file,
         }
 
         // the only thing we care about groups is, is it immutable?
-        if (key.mKey.isNull()) {
+        if (key.mKey.isNull() || key.bDefault) {
             groupIsImmutable = it->bImmutable;
             continue; // skip
         }

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to