summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2021-10-15 16:33:41 +0200
committerTopi Reinio <topi.reinio@qt.io>2021-10-18 10:22:20 +0200
commit0099481761e8c52236aaa3f71d10dad34391e86f (patch)
tree29304d356eaa984668a5089a02385d6fd4d18eb4
parent8687e163757df00c1e64c15ad63680ed5c2f6937 (diff)
qdoc: Fix assert on empty link target
Pick-to: 6.2 5.15 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>
-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 {}
+*/