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 722619 - doxygen 1.8.6 sorts the contents of a namespace by group within the Class List
doxygen 1.8.6 sorts the contents of a namespace by group within the Class List
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: documentation
1.8.6
Other All
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2014-01-20 17:10 UTC by J. P. Abelanet
Modified: 2014-04-21 10:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description J. P. Abelanet 2014-01-20 17:10:55 UTC
This can be demonstrated with the trivial example based on the example from here:

http://www.stack.nl/~dimitri/doxygen/manual/grouping.html






/** namespace N0 contains all classes
 */
namespace N0 {

/** @defgroup group1 The First Group
 *  This is the first group
 *  @{
 */

/** @brief class Prefix5C1 in group 1 */
class Prefix5C1 {};

/** @brief class Prefix4C2 in group 1 */
class Prefix4C2 {};

/** function in group 1 */
void func() {}

/** @} */ // end of group1

/**
 *  @defgroup group2 The Second Group
 *  This is the second group
 */

/** @defgroup group3 The Third Group
 *  This is the third group
 */

/** @defgroup group4 The Fourth Group
 *  @ingroup group3
 *  Group 4 is a subgroup of group 3
 */

/**
 *  @ingroup group2
 *  @brief class Prefix3C3 in group 2
 */
class Prefix3C3 {};

/** @ingroup group2
 *  @brief class Prefix2C4 in group 2
 */
class Prefix2C4 {};

/** @ingroup group3
 *  @brief class Prefix1C5 in @link group3 the third group@endlink.
 */
class Prefix1C5 {};

/** @ingroup group1 group2 group3 group4
 *  namespace N1 is in four groups
 *  @sa @link group1 The first group@endlink, group2, group3, group4 
 *
 *  Also see @ref mypage2
 */
namespace N1 {};

/** @file
 *  @ingroup group3
 *  @brief this file in group 3
 */

/** @defgroup group5 The Fifth Group
 *  This is the fifth group
 *  @{
 */

/** @page mypage1 This is a section in group 5
 *  Text of the first section
 */

/** @page mypage2 This is another section in group 5
 *  Text of the second section
 */

/** @} */ // end of group5

/** @addtogroup group1
 *  
 *  More documentation for the first group.
 *  @{
 */

/** another function in group 1 */
void func2() {}

/** yet another function in group 1 */
void func3() {}

/** @} */ // end of group1

};	// end of N0 namespace
Comment 1 J. P. Abelanet 2014-01-20 17:13:09 UTC
This is confusing to the viewer, because within this context the group is not indicated, making it look like the classes appear in a random or unspecified order within the namespace.

The documentation can be generated using the auto-generated Doxyfile.
Comment 2 Dimitri van Heesch 2014-02-22 10:29:52 UTC
Confirmed. Should be fixed in the next GIT update.
Comment 3 J. P. Abelanet 2014-02-22 19:07:43 UTC
Thanks for looking at this, and thanks, as always, for an outstanding product.
Comment 4 Dimitri van Heesch 2014-04-21 10:09:31 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).