Re: changes in GConf2 ?



Rodrigo Moya <rodrigo gnome-db org> writes: 
> So, what has changed? This has been working since GNOME 1.4.
> 

Well, it hasn't - the docs have always said "do not use GConfEngine if
you have a GConfClient wrapping the engine" - I just didn't enforce
that in the code. Knowing much more about API design than I did a
couple years ago when I did gconf, I realized that everyone was
probably getting this wrong, so I made the code warn about it.

The issue is that GConfClient is a client-side cache that wraps
GConfEngine, and the cache will become inconsistent if you are
getting/setting values via the engine directly. So by using
GConfEngine you are munging the GConfClient object.

Solution is, if you create a GConfClient, then you have to use that,
not the engine. Probably an s/gconf_engine/gconf_client/ plus a
gconf_client_add_dir() will fix most code. Or you could avoid creating
the GConfClient, except that libgnome creates one for you... so GNOME
apps are essentially forced to use GConfClient.

Havoc
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]