GConf heads up



Hi,

I'm doing some minor GConf maintenance in CVS, and will likely make a
tarball soon (remind me if I'm supposed to be changing something in
particular).

Apps syncing to CVS will need to run this perl script on all files:

 #!/usr/bin/perl -pi.bak

 s/gconf_engine_new_from_address/gconf_engine_get_for_address/g;
 s/gconf_engine_new_local/gconf_engine_get_local/g;
 s/gconf_engine_new/gconf_engine_get_default/g;

 s/gconf_client_new_with_engine/gconf_client_get_for_engine/g;
 s/gconf_client_new/gconf_client_get_default/g;

The _new() functions here didn't actually return a new object most of
the time; if you call gconf_engine_new() twice for example, you'll get
the same object both times, unless you unref it to 0 in between.  So
as you can see, the new names are much better given this behavior.

Also, GConfClient now ref/sinks itself on creation, so that it in
effect has no "floating" flag. This is because it will become a
GObject later (I suppose, though I have my misgivings about breaking
all gtk_signal_connect() on it). In any case, almost certainly this is
the sane thing anyway, because there is no natural owner to pass the
floating reference to, and most people should have been doing a
ref/sink themselves already.

The other thing I'll probably do in the near future is make GConf
install into versioned filenames and directory names, as we're doing
with gnome-libs HEAD and GTK 2.0, so you can install multiple versions
at once.

Havoc




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