aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlcontext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/qqmlcontext.cpp')
-rw-r--r--src/qml/qml/qqmlcontext.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/qml/qml/qqmlcontext.cpp b/src/qml/qml/qqmlcontext.cpp
index e641226b90..3e6ca6667e 100644
--- a/src/qml/qml/qqmlcontext.cpp
+++ b/src/qml/qml/qqmlcontext.cpp
@@ -426,14 +426,14 @@ QUrl QQmlContextData::resolvedUrl(const QUrl &src)
if (src.isRelative() && !src.isEmpty()) {
if (ctxt) {
while(ctxt) {
- if(ctxt->url.isValid())
+ if (ctxt->url().isValid())
break;
else
ctxt = ctxt->parent;
}
if (ctxt)
- resolved = ctxt->url.resolved(src);
+ resolved = ctxt->url().resolved(src);
else if (engine)
resolved = engine->baseUrl().resolved(src);
}
@@ -462,8 +462,8 @@ void QQmlContext::setBaseUrl(const QUrl &baseUrl)
{
Q_D(QQmlContext);
- d->data->url = baseUrl;
- d->data->urlString = baseUrl.toString();
+ d->data->baseUrl = baseUrl;
+ d->data->baseUrlString = baseUrl.toString();
}
/*!
@@ -474,11 +474,11 @@ QUrl QQmlContext::baseUrl() const
{
Q_D(const QQmlContext);
const QQmlContextData* data = d->data;
- while (data && data->url.isEmpty())
+ while (data && data->url().isEmpty())
data = data->parent;
if (data)
- return data->url;
+ return data->url();
else
return QUrl();
}
@@ -816,4 +816,18 @@ QV4::IdentifierHash<int> &QQmlContextData::propertyNames() const
return propertyNameCache;
}
+QUrl QQmlContextData::url() const
+{
+ if (typeCompilationUnit)
+ return typeCompilationUnit->url();
+ return baseUrl;
+}
+
+QString QQmlContextData::urlString() const
+{
+ if (typeCompilationUnit)
+ return typeCompilationUnit->fileName();
+ return baseUrlString;
+}
+
QT_END_NAMESPACE