KConfig::addConfigSources is broken

Thomas Braxton kde.braxton at gmail.com
Sun Nov 18 22:27:15 GMT 2007

On 11/18/07, Aaron J. Seigo <aseigo at kde.org> wrote:
> On Sunday 18 November 2007, Thomas Braxton wrote:
> > That's what I was saying, in the code he posted he expects writing to
> > be to a file he added with addConfigSources not to the file he opened.
> > imho you should be opening the file you expect to write to, not one of
> > it's defaults which is what he did.
> the point that is being missed here is that read/write is:
> a) no longer symmetrical
I think you're mistaken, he wants to write to a more specific file by
opening a less specific file. that's like opening
"$KDEDIR/share/config/kdeglobals" explicitly, then expecting KConfig
to know he wants to write to "$KDEHOME/share/config/kdeglobals".
KConfig doesn't handle that case either, never did afics.

> b) this is a (unnecessary) behaviour change from past KConfig
> (a) is true because reading prefers developerTempFile but writing prefers
> projectTempFile. this is an added complexity that makes no real sense
> compared to how everything else in kconfig works. (from a user of kconfig's
> perspective, anyways).
> because of this broken symmetry, how is Andreas supposed to accomplish what he
> wants: a kconfig file used as a template for reads, with a custom file to
> store changes in?

the way I posted earlier.

> that is the entire reason for the symmetrical read/write
> system.
> (b) this is not how it worked in KConfig from KDE3. this will introduce subtle
> and unnexpected bugs into software. in fact, as you can see, this has already
> happened.

this function iirc wasn't in kde3, it was added in r563544, so how
does this break kde3 software?

> so please change this back to how it was. =)

ok. so if addConfigSources is called the last file name in the list
becomes the most specific file?

> --
> Aaron J. Seigo
> humru othro a kohnu se
> GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43
> KDE core developer sponsored by Trolltech

More information about the kde-core-devel mailing list