GNOME Bugzilla – Bug 559706
Interface prerequisites missing
Last modified: 2015-02-07 16:52:35 UTC
The interface definitions misses prerequisite annotations. For example, Seekable in GIO is missing Object as prerequisite.
This is a pretty major bug; after bug 558436 lands I'll take this.
Created attachment 122680 [details] [review] implement interface prerequisites As promised, interface prerequisites.
Created attachment 122710 [details] [review] more complete patch This patch fixes up generate.c and girparser.py for the change, and also adds a test.
Only one comment looking through it: for (i = 0; i < n_interfaces; i++) { GType itype = interfaces[i]; - escaped_printf (out, " <extends>%s</extends>\n", + if (itype == G_TYPE_OBJECT) + { + /* This is implicit */ + continue; + } + escaped_printf (out, " <prerequisite name=\"%s\"/>\n", g_type_name (itype)); } It is possible to have interfaces on something like GstMiniObject that isn't a GObject. Don't know if we have any interest in supporting that in gobject-introspection. Otherwise looks fine to me as far as I can tell.
I updated the comment. Committed as r933-r936. Thanks for the review!
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]