diff options
Diffstat (limited to 'src/declarative/qml/qdeclarativevmemetaobject.cpp')
-rw-r--r-- | src/declarative/qml/qdeclarativevmemetaobject.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/declarative/qml/qdeclarativevmemetaobject.cpp b/src/declarative/qml/qdeclarativevmemetaobject.cpp index d9ad56acc2..de8863a688 100644 --- a/src/declarative/qml/qdeclarativevmemetaobject.cpp +++ b/src/declarative/qml/qdeclarativevmemetaobject.cpp @@ -790,15 +790,14 @@ v8::Handle<v8::Function> QDeclarativeVMEMetaObject::method(int index) if (v8methods[index].IsEmpty()) { QDeclarativeVMEMetaData::MethodData *data = metaData->methodData() + index; - const QChar *body = - (const QChar *)(((const char*)metaData) + data->bodyOffset); - - QString code = QString::fromRawData(body, data->bodyLength); + const char *body = ((const char*)metaData) + data->bodyOffset; + int bodyLength = data->bodyLength; // XXX We should evaluate all methods in a single big script block to // improve the call time between dynamic methods defined on the same // object - v8methods[index] = QDeclarativeExpressionPrivate::evalFunction(ctxt, object, code, ctxt->url.toString(), + v8methods[index] = QDeclarativeExpressionPrivate::evalFunction(ctxt, object, body, bodyLength, + ctxt->url.toString(), data->lineNumber); } |