GLib status update and a warning



hi all,

We ended up planning quite a lot of work for GLib during Boston Summit, a lot of which was considered to be potentially dangerous. Matthias wrote a good blog post that summarised most of it here:

  http://blogs.gnome.org/mclasen/2012/10/08/gnome-summit-sunday/

Point-by-point here's the status so far. I omit items that have no extra information to report since the summit (which is about half of them).

======

On the topic of Linux native thread operations, there is this branch which I haven't touched in a long time:

  http://git.gnome.org/browse/glib/log/?h=wip/linux

I plan to pick that up soon.

======

The changes to the source API are almost done.  See that here:

  https://bugzilla.gnome.org/show_bug.cgi?id=686853

======

* READ HERE FOR WARNING:

The removal of support for adding interfaces after class initialisation just landed. This is noteworthy in particular because it may cause some substantial short-term pain. pygobject and libsoup were both consumers of this functionality and they have had to remove their use of it.

The upshot of this is that, as of a few moments ago, building glib from git without also building git versions of pygobject and libsoup has the potential to result in things being broken.

There may be other users. Please keep an eye open for error messages that look like this:

(process:30660): GLib-GObject-WARNING **: attempting to add an interface (TestIface1) to class (BaseObject) after class_init

and give feedback here:

  https://bugzilla.gnome.org/show_bug.cgi?id=687659

In any case, following the normal G_DEFINE_TYPE_WITH_CODE() and G_IMPLEMENT_INTERFACE() pattern will always work.

======

I landed the ancient patch in bug 118536 to fix g_signal_connect_object() to automatically disconnect the handler when the target object was destroyed.

This has caused some fallout. Most noticeably it has caused gedit to crash on exit. pbor and I are looking into this problem. Anyone who can produce a small testcase that demonstrates the issue has my undying gratitude.

======

g_type_init() is now deprecated. This caused a small amount of fallout which you can read about here:

  https://bugzilla.gnome.org/show_bug.cgi?id=686822

======

GTask landed, as planned.

======

Unicode 6.2 support landed, as planned.

======

Not on Matthias' list, but another change: the ->constructed() vcall on GObject is now called after *all* properties have been set (not just the G_PARAM_CONSTRUCT ones). This addresses a major complaint that (potentially) users of this API have had almost since it was introduced.

There was no known fallout caused by this change.

======


Cheers


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