From: gnome-perl (bugzilla.gnome.org) <bug...@bu...> - 2009-01-13 20:46:32
|
If you have any questions why you received this email, please see the text at the end of this email. Replies to this email are NOT read, please see the text at the end of this email. You can add comments to this bug at: http://bugzilla.gnome.org/show_bug.cgi?id=567653 gnome-perl | Glib | Ver: unspecified Summary: signal_chain_from_overridden vs do_mysig Product: gnome-perl Version: unspecified Platform: Other OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: Normal Component: Glib AssignedTo: gtk...@li... ReportedBy: us...@zi... QAContact: gtk...@li... GNOME version: Unspecified GNOME milestone: Unspecified In perl-Glib 1.200 The program below gets two errors GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed at foo.pl line 36. *** unhandled exception in callback: *** [gperl_value_from_sv] FIXME: unhandled type - 0 ((null) fundamental for (null)) *** ignoring at foo.pl line 44. I expect it's the "do_" default handler of gperl_signal_class_closure_marshal, but g_signal_chain_from_overridden in GSignal.xs might like to consider passing return_value==NULL (instead of a GValue of G_TYPE_NONE) when the signal return type is none (query.return_type == G_TYPE_NONE). package MyClass; use strict; use warnings; use Glib; use Glib::Object::Subclass 'Glib::Object', signals => { mysig => { param_types => [], return_type => undef }, }; sub INIT_INSTANCE { my ($self) = @_; } sub do_mysig { print "MyClass mysig runs\n"; return 123; } package MySubClass; use strict; use warnings; use Glib::Object::Subclass 'MyClass', signals => { mysig => \&_do_mysubclass_mysig }; sub INIT_INSTANCE { my ($self) = @_; } sub _do_mysubclass_mysig { my ($self) = @_; $self->signal_chain_from_overridden; } package main; use strict; use warnings; my $obj = MySubClass->new; $obj->signal_emit ('mysig'); exit 0; -- See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received this email, why you can't respond via email, how to stop receiving emails (or reduce the number you receive), and how to contact someone if you are having problems with the system. You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=567653. |