aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquicktext.cpp')
-rw-r--r--src/quick/items/qquicktext.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp
index f64b0cdb19..4cd055594c 100644
--- a/src/quick/items/qquicktext.cpp
+++ b/src/quick/items/qquicktext.cpp
@@ -2070,18 +2070,21 @@ void QQuickText::setElideMode(QQuickText::TextElideMode mode)
QUrl QQuickText::baseUrl() const
{
Q_D(const QQuickText);
- if (d->baseUrl.isEmpty()) {
+ if (!d->extra.isAllocated() || d->extra->baseUrl.isEmpty()) {
if (QQmlContext *context = qmlContext(this))
- const_cast<QQuickTextPrivate *>(d)->baseUrl = context->baseUrl();
+ return context->baseUrl();
+ else
+ return QUrl();
+ } else {
+ return d->extra->baseUrl;
}
- return d->baseUrl;
}
void QQuickText::setBaseUrl(const QUrl &url)
{
Q_D(QQuickText);
if (baseUrl() != url) {
- d->baseUrl = url;
+ d->extra.value().baseUrl = url;
if (d->richText) {
d->ensureDoc();