diff options
6 files changed, 23 insertions, 1 deletions
diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 3d1806240..948ae9a67 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -676,6 +676,10 @@ qsizetype HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, Co out() << "<br/>"; break; case Atom::Link: + // Prevent nested links in table of contents + if (m_inContents) + break; + Q_FALLTHROUGH(); case Atom::NavLink: { const Node *node = nullptr; QString link = getLink(atom, relative, &node); @@ -2288,7 +2292,6 @@ void HtmlGenerator::generateTableOfContents(const Node *node, CodeMarker *marker // disable nested links in table of contents m_inContents = true; - m_inLink = true; out() << "<div class=\"sidebar\">\n"; out() << "<div class=\"toc\">\n"; diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml index 0fe4c530d..5f7308779 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml @@ -70,4 +70,8 @@ <db:title>QDoc Linking Test</db:title> <db:para>This section title is overridden by another target which takes precedence.</db:para> </db:section> +<db:section xml:id="linking-to-something-in-a-section-title"> +<db:title>Linking to <db:link xlink:href="qdoctests-qdocfileoutput.xml#further-information">something</db:link> in a section title</db:title> +<db:para>This is allowed but a questionable practice.</db:para> +</db:section> </db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml index 5c9758445..3eb5b7703 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml @@ -6,6 +6,7 @@ <contents name="further-information" title="Further information" level="1"/> <contents name="linking" title="Linking" level="1"/> <contents name="qdoc-linking-test" title="QDoc Linking Test" level="1"/> + <contents name="linking-to-something-in-a-section-title" title="Linking to something in a section title" level="1"/> <description> <relation href="qdoctests-qdocfileoutput-linking.html" type="page" meta="next" description="Testing QDoc's link command"/> <brief>This is a simple page for testing purposes only.</brief> @@ -82,6 +83,10 @@ <heading level="1">QDoc Linking Test</heading> <para>This section title is overridden by another target which takes precedence.</para> </section> + <section id="linking-to-something-in-a-section-title"> + <heading level="1">Linking to <link raw="Further information" href="qdoctests-qdocfileoutput.html#further-information" type="page" page="Testing QDoc output from .qdoc files">something</link> in a section title</heading> + <para>This is allowed but a questionable practice.</para> + </section> </description> </page> </document> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html index ab7fc566f..09aa4ef9b 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html @@ -19,6 +19,7 @@ <li class="level1"><a href="#further-information">Further information</a></li> <li class="level1"><a href="#linking">Linking</a></li> <li class="level1"><a href="#qdoc-linking-test">QDoc Linking Test</a></li> +<li class="level1"><a href="#linking-to-something-in-a-section-title">Linking to something in a section title</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> @@ -51,6 +52,8 @@ </ul> <h2 id="qdoc-linking-test">QDoc Linking Test</h2> <p>This section title is overridden by another target which takes precedence.</p> +<h2 id="linking-to-something-in-a-section-title">Linking to <a href="qdoctests-qdocfileoutput.html#further-information">something</a> in a section title</h2> +<p>This is allowed but a questionable practice.</p> </div> <!-- @@@qdoctests-qdocfileoutput.html --> <p class="naviNextPrevious footerNavi"> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/tocbreadcrumbs/qdoctests-qdocfileoutput.html b/tests/auto/qdoc/generatedoutput/expected_output/tocbreadcrumbs/qdoctests-qdocfileoutput.html index d0b3aa7f1..28128fd90 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/tocbreadcrumbs/qdoctests-qdocfileoutput.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/tocbreadcrumbs/qdoctests-qdocfileoutput.html @@ -21,6 +21,7 @@ <li class="level1"><a href="#further-information">Further information</a></li> <li class="level1"><a href="#linking">Linking</a></li> <li class="level1"><a href="#qdoc-linking-test">QDoc Linking Test</a></li> +<li class="level1"><a href="#linking-to-something-in-a-section-title">Linking to something in a section title</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> @@ -53,6 +54,8 @@ </ul> <h2 id="qdoc-linking-test">QDoc Linking Test</h2> <p>This section title is overridden by another target which takes precedence.</p> +<h2 id="linking-to-something-in-a-section-title">Linking to <a href="qdoctests-qdocfileoutput.html#further-information">something</a> in a section title</h2> +<p>This is allowed but a questionable practice.</p> </div> <!-- @@@qdoctests-qdocfileoutput.html --> <p class="naviNextPrevious footerNavi"> diff --git a/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc b/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc index 4887dcdb9..f3289f4ee 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc +++ b/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc @@ -51,6 +51,10 @@ This section title is overridden by another target which takes precedence. + + \section1 Linking to \l {Further information}{something} in a section title + + This is allowed but a questionable practice. */ /*! |