AW: KConfig: Expandable flag of config entries is not persistent

Nhuh Put nhuh.put at web.de
Mon Oct 8 00:30:38 BST 2007


> Von: Ingo Klöcker
> Gesendet: Sonntag, 7. Oktober 2007 22:41
> An: kde-core-devel at kde.org
> Betreff: KConfig: Expandable flag of config entries is not persistent
> 
> Hi,
> 
> KConfigGroup seems to have a serious problem with the persistence of the
> flags of config entries. In the particular case I have encountered the
> expandable flag ($e) of a path entry is lost if the config is rewritten
> without explicitly rewritting the path entry with writePathEntry().
> This should be a very common use case because it occurs whenever an
> application writes a path entry only if it has changed (e.g. KMail
> writes the location of the mail storage usually only a single time and
> thenceforth only reads the entry).
> 
> The attached patch for kconfigtest demonstrates the problem. After
> adding another config entry and synching the config the expandable flag
> of the path entry is gone so that the second read test of the path
> fails because readPathEntry() returns the unexpanded value $HOME/foo:
> 
> FAIL!  : KConfigTest::testPath() Compared values are not the same
>    Actual (sc3.readPathEntry( "homepath", QString() )): $HOME/foo
>    Expected (HOMEPATH): /home/ingo/foo
>    Loc:
> [/home/ingo/svn/kde/trunk/KDE/kdelibs/kdecore/tests/kconfigtest.cpp(277)]
> 
> 
> Regards,
> Ingo

This should now also be fixed, at least the testcase doesn't fail anymore.

	PutHuhn





More information about the kde-core-devel mailing list