Fwd: GLib 2.29 vs Gtk 3.0 instability

See attached.
--- Begin Message ---

I recently introduced a change into the GLib unstable branch that causes
all applications using Gtk 3.0 to crash:


The reason for the crash is this code in gtkthemingengine.c, added a
year ago:

  /* FIXME: hack hack hack, replacing pspec->name to include namespace */
  name = g_strdup_printf ("-%s-%s", name_space, pspec->name);
  g_free (pspec->name);
  pspec->name = name;

When I switched GParamSpec to consistently intern all strings, most of
the theming engines were hit quite badly by this bug (since the code was
attempting to g_free() interned strings).

A workaround was committed to the master branch of Gtk+ very shortly
after the problem was discovered:


The workaround is incompatible with the old version of GLib, which is
okay since Gtk master branch already depends on new GLib for unrelated

Sébastien Bacher pointed out that people who install new GLib versions
onto systems using the existing Gtk 3.0 stable series will still be
affected by the bug.  We want to avoid this situation.

Since any changes to the stable series cannot introduce a dependency on
an unstable GLib, I modified the workaround to check the GLib version
and do the appropriate thing.  I applied the fix to the gtk-3-0 branch:


This patched version of Gtk 3.0 should work fine against both the old
and new GLib versions, thus avoiding the "upgraded GLib" issue without
introducing a new GLib dependency.

I intended to make a point release on the Gtk 3.0 stable branch
yesterday but there are some other issues currently blocking that
release for the time being.  One will happen soon.  It is requested that
all distributors package this release as an update to their stable
series, or at least apply the patch above.  This will save your users
from crashes if they attempt to upgrade their GLib.

Sorry for the bumpy ride.


gtk-devel-list mailing list
gtk-devel-list gnome org

--- End Message ---

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