summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2021-10-15 16:33:41 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-10-18 09:06:49 +0000
commit9679329b252abe2f2d890ccc84c4cdc97838f1d1 (patch)
treead0fb32373f1df9baabaf0e4fd9611eb0c4b98d7
parentdd7a53591e7a5549b0d962487c3ef914e069373c (diff)
downloadqttools-9679329b252abe2f2d890ccc84c4cdc97838f1d1.tar.gz
qdoc: Fix assert on empty link target
Fixes: QTBUG-97562 Change-Id: I9e2b2b3979f9c0ca22f23a1a5fef5296b2a34a00 Done-with: Luca Di Sera <luca.disera@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Luca Di Sera <luca.disera@qt.io> (cherry picked from commit 0099481761e8c52236aaa3f71d10dad34391e86f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/qdoc/xmlgenerator.cpp4
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf3
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc7
3 files changed, 14 insertions, 0 deletions
diff --git a/src/qdoc/xmlgenerator.cpp b/src/qdoc/xmlgenerator.cpp
index 987b49f6f..a83a25143 100644
--- a/src/qdoc/xmlgenerator.cpp
+++ b/src/qdoc/xmlgenerator.cpp
@@ -381,6 +381,10 @@ QString XmlGenerator::linkForNode(const Node *node, const Node *relative)
QString XmlGenerator::getLink(const Atom *atom, const Node *relative, const Node **node)
{
const QString &t = atom->string();
+
+ if (t.isEmpty())
+ return t;
+
if (t.at(0) == QChar('h')) {
if (t.startsWith("http:") || t.startsWith("https:"))
return t;
diff --git a/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf
index 80e7c2fee..b076bdae1 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf
+++ b/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf
@@ -11,3 +11,6 @@ macro.endqdoc = "\\c */"
macro.PROD = QDoc
defines = test_navigation
+
+# allow (qdoc) warning: Can't link to ''
+warninglimit += 1
diff --git a/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc b/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc
index 7962cc28f..963619afe 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc
+++ b/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc
@@ -208,3 +208,10 @@
unicode
*/
+
+// Empty link target that was known to assert
+/*!
+ \page crash.html
+
+ \l {}
+*/