aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativescript.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/qdeclarativescript.cpp')
-rw-r--r--src/declarative/qml/qdeclarativescript.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/declarative/qml/qdeclarativescript.cpp b/src/declarative/qml/qdeclarativescript.cpp
index 48384ce420..7a2247fac0 100644
--- a/src/declarative/qml/qdeclarativescript.cpp
+++ b/src/declarative/qml/qdeclarativescript.cpp
@@ -1287,12 +1287,17 @@ public:
};
}
-bool QDeclarativeScript::Parser::parse(const QByteArray &qmldata, const QUrl &url)
+bool QDeclarativeScript::Parser::parse(const QByteArray &qmldata, const QUrl &url,
+ const QString &urlString)
{
clear();
- const QString fileName = url.toString();
- _scriptFile = fileName;
+ if (urlString.isEmpty()) {
+ _scriptFile = url.toString();
+ } else {
+ // Q_ASSERT(urlString == url.toString());
+ _scriptFile = urlString;
+ }
QTextStream stream(qmldata, QIODevice::ReadOnly);
#ifndef QT_NO_TEXTCODEC
@@ -1300,7 +1305,7 @@ bool QDeclarativeScript::Parser::parse(const QByteArray &qmldata, const QUrl &ur
#endif
QString *code = _pool.NewString(stream.readAll());
- data = new QDeclarativeScript::ParserJsASTData(fileName);
+ data = new QDeclarativeScript::ParserJsASTData(_scriptFile);
Lexer lexer(&data->engine);
lexer.setCode(*code, /*line = */ 1);