diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-12-02 12:46:20 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-12-20 10:07:39 +0100 |
commit | a8efa705ac21ec020474b9dcc8ab454ddedad037 (patch) | |
tree | bcd2ac0ddee28fb48cde2ccba13467864db33711 /src/qml/jsruntime/qv4context.cpp | |
parent | f2253e6b59e3e8a5d8524b766c03ce79389a4870 (diff) |
Fix Context::getPropertyAndBase to use Heap based objects
Change-Id: I4f885a8af5e963445959871b7f26f3bcb3dfa654
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4context.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4context.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/jsruntime/qv4context.cpp b/src/qml/jsruntime/qv4context.cpp index 3c36612222..001a586050 100644 --- a/src/qml/jsruntime/qv4context.cpp +++ b/src/qml/jsruntime/qv4context.cpp @@ -404,11 +404,11 @@ ReturnedValue ExecutionContext::getProperty(String *name) return engine()->throwReferenceError(n); } -ReturnedValue ExecutionContext::getPropertyAndBase(String *name, Object *&base) +ReturnedValue ExecutionContext::getPropertyAndBase(String *name, Heap::Object **base) { Scope scope(this); ScopedValue v(scope); - base = (Object *)0; + *base = (Heap::Object *)0; name->makeIdentifier(); if (name->equals(d()->engine->id_this)) @@ -424,7 +424,7 @@ ReturnedValue ExecutionContext::getPropertyAndBase(String *name, Object *&base) bool hasProperty = false; v = w->get(name, &hasProperty); if (hasProperty) { - base = w; + *base = w->d(); return v.asReturnedValue(); } continue; @@ -454,7 +454,7 @@ ReturnedValue ExecutionContext::getPropertyAndBase(String *name, Object *&base) v = activation->get(name, &hasProperty); if (hasProperty) { if (ctx->d()->type == Heap::ExecutionContext::Type_QmlContext) - base = activation; + *base = activation->d(); return v.asReturnedValue(); } } |