Dear all,

While browsing the documentation of L4Re (https://l4re.org/doc/), which is
generated using Doxygen, I noticed that the link for the documentation of
some C++ classes in the search bar is broken. This seems to happen in some
cases where there are multiple interfaces with the same name. For example,
while searching for 'Task', two results come out in the search bar.
Clicking on the first takes the user to the C interface, while clicking on
the second result takes no effect.

I thought this could be related to the fact that the name 'Task' is used to
name two interfaces (one in C, one in C++), but then I noticed that both
the C++ and C interfaces for Factory are both named 'Factory', and there
the links for each individual interface work as expected.

Looking into the html code of the page in the Chrome DevTools, I noticed
that when searching for 'Factory' (which is the case where the link
actually works), if I click over the link in the result panel in the search
bar, it updates the SRChildren element adding the attribute:

style="display: block;"

This does not happen when I search for 'Task'. Two results appear, but only
one of the links has an effect when clicked on. I also noticed that if I
manually edit the content of the page in Chrome DevTools by adding

style="display: block;"

to

<div class="SRChildren" classname="SRChildren">

then it expands the sub-menu and shows the link for the Task class
documentation.

Looking at the source codes for both classes (Factory/Task), I could not
spot anything that was able to justify this behaviour. I wonder if this is
a bug in Doxygen, or may it be some configuration missing on the source
code of L4Re which is causing the link to be broken.


Link for the sources (Task C/C++ and Factory C/C++) are given here:

   - Task C++ Interface

[In Doxygen] https://l4re.org/doc/task_source.html
[In Github]
https://github.com/kernkonzept/l4re-core/blob/master/l4sys/include/task


   - Task C interface

[In Doxygen] https://l4re.org/doc/task_8h_source.html

[In Github]
https://github.com/kernkonzept/l4re-core/blob/master/l4sys/include/task.h



   - Factory C++ Interface

[In Doxygen] https://l4re.org/doc/factory_source.html

[In Github]
https://github.com/kernkonzept/l4re-core/blob/master/l4sys/include/factory



   - Factory C Interface

[In Doxygen] https://l4re.org/doc/factory_8h_source.html

[In Github]
https://github.com/kernkonzept/l4re-core/blob/master/l4sys/include/factory.h



I've tried compile the documentation myself with two versions of Doxygen:
1.8.13 and 1.8.15 (the latest), but I saw no difference with respect to the
broken link.

Kind regards,
Diego Machado Dias
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to