The latest CVS version of Ruby-GNOME2 is throwing exceptions when
registering new signals.
class Foo < GLib::Object
I think the problem is the in revision 1.52 of
and revision 1.26 of
New function ‘g_rclosure_attach’ expects to be given a instance of a
GObject (ie. T_DATA) but for a new signal the class, rather than an
instance, is passed instead (ie. T_CLASS).
AFAICS, the purpose of the changes is to make it possible to do garbage
collection of proc objects. As classes never die (and so the closure
won’t be ), what I’ve tried to do is disable the code which reduces the
reference count on a GRClosure unless the object is of type T_DATA: it
would never be called, because the class will never be GC’d.
If someone who understands the internals of the glib bindings better
than I do could review the attached patch, that would be great.