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 662424 - Class hierarchy about interfaces not generated by default
Class hierarchy about interfaces not generated by default
Status: RESOLVED OBSOLETE
Product: gtk-doc
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: 1.20
Assigned To: gtk-doc maintainers
gtk-doc maintainers
Depends on:
Blocks:
 
 
Reported: 2011-10-21 21:02 UTC by Michal Hruby
Modified: 2014-02-08 18:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch (676 bytes, patch)
2011-10-21 21:02 UTC, Michal Hruby
none Details | Review

Description Michal Hruby 2011-10-21 21:02:37 UTC
Created attachment 199702 [details] [review]
Patch

If I let gtk-doc generate the sections file, it won't add necessary types to decl-list which results in interfaces not having the GInterface header - so you don't see which classes implement specific interface etc.

The reason is that gtkdoc-scan expects to find in a header file definition of both FooBar and FooBarClass/Iface/Interface structs, but it won't find definition of FooBar struct (which has corresponding FooBarIface) cause that's usually just a dummy typedef.

Attached patch adds the necessary struct declaration to decl-list which seems to fix this issue.
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2011-10-28 08:54:06 UTC
The patch looks good to me and does not seem to have bad side effects. Could you point me to source where it causes you troubles. That will help we to add a similar scenario to the test suite.
Comment 2 Michal Hruby 2011-10-28 15:07:54 UTC
I see the issue for example in libdee ( http://launchpad.net/dee/0.5/0.5.22/+download/dee-0.5.22.tar.gz ) - classes have proper class hierarchy and signals and everything, but interfaces do not without the patch.
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2012-06-13 13:36:17 UTC
Review of attachment 199702 [details] [review]:

Please submit patches in git format in the future and also try them before submitting :)

::: gtkdoc-scan.in
@@ +801,3 @@
+                if ($symbol =~ m/^(\S+)(Iface|Interface)\b/) {
+                    my $ifcname = $1;
+                    @TRACE("Found interface: $1");

@TRACE@
Comment 4 Stefan Sauer (gstreamer, gtkdoc dev) 2012-06-13 13:40:44 UTC
How is that not already handles by:

                if ($symbol =~ m/^(\S+)(Class|Iface|Interface)\b/) {
                    my $objectname = $1;
                    @TRACE@("Found object: $1");
                    $list = "<TITLE>$objectname</TITLE>\n$list";
                    push (@objects, $objectname);
                }
Comment 5 Tobias Mueller 2012-10-07 01:37:00 UTC
So is this patch rejected and this bug WONTFIX?
Comment 6 Stefan Sauer (gstreamer, gtkdoc dev) 2012-10-07 07:41:07 UTC
Tobias, it is NEEDINFO. I think the case is already handled and I am still waiting for Michal to get back to me.
Comment 7 Stefan Sauer (gstreamer, gtkdoc dev) 2013-06-05 07:04:40 UTC
Michael, ping?
Comment 8 Stefan Sauer (gstreamer, gtkdoc dev) 2014-02-08 18:46:34 UTC
Closing this now. Michael, please reopen if this is still an issue for you.