diff options
author | Lars Knoll <lars.knoll@qt.io> | 2016-12-05 13:28:26 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2016-12-09 14:02:05 +0000 |
commit | 91ac4a8d099d10fdfd5aa631da02727b7917d85f (patch) | |
tree | 27b7b6c9a0fbf41fac184423ce70682a4d6a3b43 /src/qml/qml/v8 | |
parent | 3d582fd5c17b011a606001fe8635e732e4609328 (diff) |
Don't store a source location in the QQmlBindingFunction anymore
It's not needed anymore as we now store this in the binding
directly.
Change-Id: I518c83207f219b690f31200e4d17251075bbd322
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/qml/v8')
-rw-r--r-- | src/qml/qml/v8/qqmlbuiltinfunctions.cpp | 6 | ||||
-rw-r--r-- | src/qml/qml/v8/qqmlbuiltinfunctions_p.h | 8 |
2 files changed, 3 insertions, 11 deletions
diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp index 7bab2415c5..aa2b8a24ec 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp +++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp @@ -1304,15 +1304,13 @@ ReturnedValue QtObject::method_locale(CallContext *ctx) void Heap::QQmlBindingFunction::init(const QV4::FunctionObject *originalFunction) { QV4::Heap::FunctionObject::init(originalFunction->scope(), originalFunction->name()); - bindingLocation = new QQmlSourceLocation; this->originalFunction = originalFunction->d(); } -void QQmlBindingFunction::initBindingLocation() +QQmlSourceLocation QQmlBindingFunction::currentLocation() const { QV4::StackFrame frame = engine()->currentStackFrame(); - d()->bindingLocation->sourceFile = frame.source; - d()->bindingLocation->line = frame.line; + return QQmlSourceLocation(frame.source, frame.line, 0); } void QQmlBindingFunction::call(const Managed *that, Scope &scope, CallData *callData) diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions_p.h b/src/qml/qml/v8/qqmlbuiltinfunctions_p.h index f84c819e6a..dc2cd04cbe 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions_p.h +++ b/src/qml/qml/v8/qqmlbuiltinfunctions_p.h @@ -82,13 +82,7 @@ struct ConsoleObject : Object { struct QQmlBindingFunction : FunctionObject { void init(const QV4::FunctionObject *originalFunction); - void destroy() { - delete bindingLocation; - Object::destroy(); - } Pointer<FunctionObject> originalFunction; - // Set when the binding is created later - QQmlSourceLocation *bindingLocation; }; } @@ -187,7 +181,7 @@ struct QQmlBindingFunction : public QV4::FunctionObject V4_OBJECT2(QQmlBindingFunction, FunctionObject) V4_NEEDS_DESTROY - void initBindingLocation(); // from caller stack trace + QQmlSourceLocation currentLocation() const; // from caller stack trace static void call(const Managed *that, Scope &scope, CallData *callData); |