After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 630031 - Handle custom marshallers for signals from different type but with the same name
Handle custom marshallers for signals from different type but with the same name
Status: RESOLVED FIXED
Product: gnome-perl
Classification: Bindings
Component: Glib
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtk2-perl-bugs
gtk2-perl-bugs
Depends on:
Blocks:
 
 
Reported: 2010-09-19 00:56 UTC by Torsten Schoenfeld
Modified: 2010-11-21 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Correctly store and look up custom signal marshallers (6.01 KB, patch)
2010-09-19 00:57 UTC, Torsten Schoenfeld
committed Details | Review

Description Torsten Schoenfeld 2010-09-19 00:56:21 UTC
Gtk2::Dialog's and Gtk2::InfoBar's "response" signal demonstrates this.  Here's a patch.
Comment 1 Torsten Schoenfeld 2010-09-19 00:57:26 UTC
Created attachment 170573 [details] [review]
Correctly store and look up custom signal marshallers

Rather than storing (signal name => (marshaller, instance type))
associations, use (instance type => (signal name => marshaller)).  This
ensures that we handle signal names occurring more than once in the
object hierarchy.  For example, Gtk2::Dialog and Gtk2::InfoBar both have
a "response" signal (for which we want to install custom signal
marshallers).  This implies that the look up implementation used during
signal connection needs to walk the ancestry and the interfaces of the
instance's type in the search for custom signal marshallers.