summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2021-10-15 16:33:41 +0200
committerTopi Reinio <topi.reinio@qt.io>2022-03-15 14:57:30 +0100
commit55fe27c4455eb54830bb08f19e34d8f2f137ad2f (patch)
tree2072b55ea93e1a3a2669727824fdf4c401e41e44
parent53e0ac017ade09238ab72664086baec6282beec9 (diff)
downloadqttools-55fe27c4455eb54830bb08f19e34d8f2f137ad2f.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: Kai Koehne <kai.koehne@qt.io>
-rw-r--r--src/qdoc/xmlgenerator.cpp4
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf4
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc7
3 files changed, 13 insertions, 2 deletions
diff --git a/src/qdoc/xmlgenerator.cpp b/src/qdoc/xmlgenerator.cpp
index 647904af5..f5c0809f3 100644
--- a/src/qdoc/xmlgenerator.cpp
+++ b/src/qdoc/xmlgenerator.cpp
@@ -378,6 +378,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 e4cef822e..3844c2acf 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf
+++ b/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf
@@ -7,6 +7,6 @@ sources = ../outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc
macro.beginqdoc = "\\c {/*!}"
macro.endqdoc = "\\c */"
-# zero warning tolerance
-warninglimit = 0
+# allow (qdoc) warning: Can't link to ''
+warninglimit = 1
warninglimit.enabled = true
diff --git a/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc b/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc
index e56c447c4..b0f4f16d6 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc
+++ b/tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc
@@ -81,3 +81,10 @@
titles, targets defined with \\target or \\keyword commands, and API
reference keywords (types, methods, namespaces, and so on).
*/
+
+// Empty link target that was known to assert
+/*!
+ \page crash.html
+
+ \l {}
+*/