diff --git a/src/gui/text/qtexthtmlparser.cpp b/src/gui/text/qtexthtmlparser.cpp
index 5292ba20a2..a131503b85 100644
--- a/src/gui/text/qtexthtmlparser.cpp
+++ b/src/gui/text/qtexthtmlparser.cpp
@@ -46,7 +46,7 @@
#include
#include
#include
-#include
+#include
#include "qtextdocument.h"
#include "qtextformat_p.h"
@@ -1066,7 +1066,7 @@ void QTextHtmlParserNode::initializeProperties(const QTextHtmlParserNode *parent
&& !attributes.at(i + 1).isEmpty()) {
hasHref = true;
charFormat.setUnderlineStyle(QTextCharFormat::SingleUnderline);
- charFormat.setForeground(Qt::blue);
+ charFormat.setForeground(QGuiApplication::palette().link());
}
}
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 307e5a6210..b065f537f7 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -54,6 +54,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -187,6 +188,9 @@ private slots:
void QTBUG27354_spaceAndSoftSpace();
void cssInheritance();
+
+ void QTBUG28998_linkColor();
+
private:
void backgroundImage_checkExpectedHtml(const QTextDocument &doc);
@@ -2974,5 +2978,29 @@ void tst_QTextDocument::cssInheritance()
}
}
+void tst_QTextDocument::QTBUG28998_linkColor()
+{
+ QPalette pal;
+ pal.setColor(QPalette::Link, QColor("tomato"));
+ QGuiApplication::setPalette(pal);
+
+ QTextDocument doc;
+ doc.setHtml("Qt");
+
+ QCOMPARE(doc.blockCount(), 1);
+ QTextBlock block = doc.firstBlock();
+ QVERIFY(block.isValid());
+
+ QTextFragment fragment = block.begin().fragment();
+ QVERIFY(fragment.isValid());
+
+ QTextCharFormat format = fragment.charFormat();
+ QVERIFY(format.isValid());
+ QVERIFY(format.isAnchor());
+ QCOMPARE(format.anchorHref(), QStringLiteral("http://www.qt-project.org"));
+
+ QCOMPARE(format.foreground(), pal.link());
+}
+
QTEST_MAIN(tst_QTextDocument)
#include "tst_qtextdocument.moc"