aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/v8
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2016-12-05 13:28:26 +0100
committerLars Knoll <lars.knoll@qt.io>2016-12-09 14:02:05 +0000
commit91ac4a8d099d10fdfd5aa631da02727b7917d85f (patch)
tree27b7b6c9a0fbf41fac184423ce70682a4d6a3b43 /src/qml/qml/v8
parent3d582fd5c17b011a606001fe8635e732e4609328 (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.cpp6
-rw-r--r--src/qml/qml/v8/qqmlbuiltinfunctions_p.h8
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);