diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2012-02-16 14:10:12 +0000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-20 16:25:40 +0100 |
commit | d1c2fb2e33f687ca883c67bcd5e0d73d1de32bdc (patch) | |
tree | 43bd7633c2191901f881203a0f0a7b2a7a74c04a /src/declarative/qml/qdeclarativescript.cpp | |
parent | 08566134e96971a8e8552a10ca7d6f31fca8a618 (diff) |
Reduce memory by not calling QUrl::toString() multiple times
Change-Id: I57ce25f4e20cac048ff507a8c195b83adc30040d
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
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); |