aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextdocument.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2023-12-11 18:05:30 -0700
committerShawn Rutledge <shawn.rutledge@qt.io>2023-12-12 16:44:45 -0700
commit4077b05949442eeb2fa4d16a435d476eb00b55a7 (patch)
treed997d850470742edf69641304151b12e7ed19bee /src/quick/items/qquicktextdocument.cpp
parent295a1ce389cda8f360835c89d9a3b32cbcba7eb6 (diff)
Resolve source URL just-in-time in QQuickTextDocument
Follow the pattern that we have been using with all source(QUrl) properties, as in 0a1e4cc7ec7548f6273befff9cdddb0bc7a58961: resolve the URL at the time of loading. Pick-to: 6.7 Task-number: QTBUG-76879 Change-Id: I02f71cd026f2315e41ad235f38650a040cdc1866 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/quick/items/qquicktextdocument.cpp')
-rw-r--r--src/quick/items/qquicktextdocument.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/quick/items/qquicktextdocument.cpp b/src/quick/items/qquicktextdocument.cpp
index 96f4daaaec..cde6ad0d10 100644
--- a/src/quick/items/qquicktextdocument.cpp
+++ b/src/quick/items/qquicktextdocument.cpp
@@ -137,14 +137,16 @@ void QQuickTextDocument::setModified(bool modified)
void QQuickTextDocumentPrivate::load()
{
Q_Q(QQuickTextDocument);
- const QString fileName = QQmlFile::urlToLocalFileOrQrc(url);
+ const QQmlContext *context = qmlContext(editor);
+ const QUrl &resolvedUrl = context ? context->resolvedUrl(url) : url;
+ const QString fileName = QQmlFile::urlToLocalFileOrQrc(resolvedUrl);
if (QFile::exists(fileName)) {
mimeType = QMimeDatabase().mimeTypeForFile(fileName);
QFile file(fileName);
if (file.open(QFile::ReadOnly)) {
QByteArray data = file.readAll();
if (auto *doc = editor->document()) {
- doc->setBaseUrl(url.adjusted(QUrl::RemoveFilename));
+ doc->setBaseUrl(resolvedUrl.adjusted(QUrl::RemoveFilename));
if (mimeType.inherits("text/markdown"_L1)) {
doc->setMarkdown(QString::fromUtf8(data));
} else if (mimeType.inherits("text/html"_L1)) {