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 559706 - Interface prerequisites missing
Interface prerequisites missing
Status: RESOLVED FIXED
Product: gobject-introspection
Classification: Platform
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
Depends on:
Blocks: 559704
 
 
Reported: 2008-11-07 07:26 UTC by Jürg Billeter
Modified: 2015-02-07 16:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
implement interface prerequisites (5.86 KB, patch)
2008-11-14 18:56 UTC, Colin Walters
none Details | Review
more complete patch (13.08 KB, patch)
2008-11-15 02:18 UTC, Colin Walters
accepted-commit_now Details | Review

Description Jürg Billeter 2008-11-07 07:26:30 UTC
The interface definitions misses prerequisite annotations. For example, Seekable in GIO is missing Object as prerequisite.
Comment 1 Colin Walters 2008-11-11 17:59:45 UTC
This is a pretty major bug; after bug 558436 lands I'll take this.
Comment 2 Colin Walters 2008-11-14 18:56:27 UTC
Created attachment 122680 [details] [review]
implement interface prerequisites

As promised, interface prerequisites.
Comment 3 Colin Walters 2008-11-15 02:18:24 UTC
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.
Comment 4 Owen Taylor 2008-11-17 00:13:47 UTC
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.
Comment 5 Colin Walters 2008-11-17 00:28:53 UTC
I updated the comment.

Committed as r933-r936.  Thanks for the review!
Comment 6 André Klapper 2015-02-07 16:52:35 UTC
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]