diff options
Diffstat (limited to 'src/declarative/qml/qdeclarativescript.cpp')
-rw-r--r-- | src/declarative/qml/qdeclarativescript.cpp | 13 |
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); |