Re: cpantesters failure of GtkBuildable in subclass



I think I fixed the underlying Glib::Object::Subclass and Glib::Type->register_type bug: <http://git.gnome.org/browse/perl-Glib/commit/?id=ebf55199407d3be92162f5c2573c7f9c34614cb1>. Everyone whose code uses Glib::Object::Subclass or Glib::Type->register_type, please test!

On 06.12.2012 22:53, Kevin Ryde wrote:
Ah yes.  Perhaps it would save a couple of nanoseconds to pass them
straight through (untested),

    shift;  # our own name 'Glib::Subclass::Object'
    my $superclass = shift;
    my $class = caller;
    Glib::Type->register_object($superclass, $class, @_);
    ...

After the above fix, this change cannot affect the semantics anymore, so it is an obvious improvement and I committed your patch.

Is it required that "interfaces" is first in register_object()?
Presumably everyone, me included, has done so or it wouldn't work.

There's actually code in Gtk2/t/GtkBuildableIface.t that does not put "interfaces" first, and I assume there is similar code in the wild. This worked in the past because perl's hash key ordering ensured that "interfaces" would always come first. Of course, this is exactly what has changed in perl 5.17.6.



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