GNOME Bugzilla – Bug 561711
signals with collection (GList, GHashTable, etc) args
Last modified: 2015-02-07 16:58:55 UTC
gobject-introspection doesn't respect (element-type) annotations on signal arguments, so there's no way to include a collection type in a signal's arguments and have a binding be able to deal with the data correctly (eg, the particular case I just encountered is that I wanted to emit a signal whose first parameter was a GList of ClutterActor. But as far as g_signal_new() is concerned, that's just a gpointer.)
I'm not sure what we can do here, as signals are part of GObject itself. As they have GValues you can do basic introspection using them. At best we'd end up duplicating the metadata inside GObject/GValue.
AIUI, right now for signals, the .gir file is populated *only* with information from the actual g_signal_new call. I'm suggesting you should be able to supplement that information with information from annotations. Yes, this would mean gobject-introspection would know more about the signal than the signal system itself would, but that's what gobject-introspection is for... Actually, now that I look more carefully, this is probably just a different aspect of bug 546739. And fixing it would address the signal-param-naming part of bug 552069 too. *** This bug has been marked as a duplicate of 546739 ***
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]