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 705499 - Nested namespace causes incorrect display when referenced via .tag file
Nested namespace causes incorrect display when referenced via .tag file
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.4
Other Linux
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2013-08-05 11:59 UTC by diarmuid.kieran
Modified: 2014-04-24 09:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Screenshot of doxygen doc for TestProject1 (17.92 KB, image/png)
2013-08-05 11:59 UTC, diarmuid.kieran
Details
Screenshot of doxygen doc for TestProject2 (16.58 KB, image/png)
2013-08-05 12:02 UTC, diarmuid.kieran
Details

Description diarmuid.kieran 2013-08-05 11:59:33 UTC
Created attachment 250860 [details]
Screenshot of doxygen doc for TestProject1

I created two projects - TestProject1 and TestProject2

------------
TestProject1 
------------

Contains 1 header file, as follows:

XBO.h

/*! \brief XBO is boring
*/
namespace XBO { 

 /*! \brief XBONestedNS is also boring
    */
    
namespace XBONestedNS {	  
}

}

After running this file through doxygen, I get a tag file in the resulting documentation directory as follows:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="namespace">
    <name>XBO</name>
    <filename>namespaceXBO.html</filename>
    <namespace>XBO::XBONestedNS</namespace>
  </compound>
  <compound kind="namespace">
    <name>XBO::XBONestedNS</name>
    <filename>namespaceXBO_1_1XBONestedNS.html</filename>
  </compound>
  <compound kind="dir">
    <name>TestProject1</name>
  <path>/abc1/users/someuser/userbranch/project/src/library/TestProject1/</path>
    <filename>dir_a1513fb003dc8c1062e5770a29b83379.html</filename>
    <file>XBO.h</file>
  </compound>
</tagfile>

------------
TestProject2
------------

Contains 1 header file, as follows

YBO.h

/*! \brief YBO is boring
*/
namespace YBO {
}


In the makefile.doxygen for TestProject2, the .tag file from TestProject1 is referenced, as follows:

@TAGFILES          = $(DOXY_OUTPUT)/../TestProject1/TestProject1.tag=../TestProject1

When the doxygen files for TestProject2 are created, the namespace XBO (from TestProject1) is erroneously contained in the namespace list for TestProject2.

In other words, when a project is referenced by another project and that projected contains a nested namespace, the top level namespace of the first project (ie the namespace within which is nested a namespace) is displayed in the doxygen documentation of the second project.

Screenshots of the documentation generated for TestProject1 and TestProject2 are attached.
Comment 1 diarmuid.kieran 2013-08-05 12:02:04 UTC
Created attachment 250862 [details]
Screenshot of doxygen doc for TestProject2

The namespace XBO from TestProject1 is mysteriously in the list of namespaces for TestProject2
Comment 2 Dimitri van Heesch 2014-01-05 10:47:30 UTC
Confirmed. Should be fixed in the next GIT update.
Comment 3 Dimitri van Heesch 2014-04-21 10:09:14 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.7. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information 
that you think can be relevant (preferrably in the form of a self-contained example).
Comment 4 diarmuid.kieran 2014-04-24 07:28:16 UTC
How can I verify this? Doxygen 1.8.7 is not available yet. Only 1.8.6 is on the Doxygen site.
Comment 5 diarmuid.kieran 2014-04-24 09:51:00 UTC
I saw that SourceForge had Doxygen 1.8.7, so I downloaded that. However, some of the images (for example the namespace "N" image, are missing when I generate the documentation, so I don't know if that is the correct 1.8.7 package.