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.
_______________________________________________
gtk-perl-list mailing list
gtk-perl-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-perl-list

Reply via email to