diff options
Diffstat (limited to 'src/qml/jsruntime')
-rw-r--r-- | src/qml/jsruntime/qv4objectiterator.cpp | 12 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4runtime.cpp | 4 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4value_p.h | 10 |
3 files changed, 12 insertions, 14 deletions
diff --git a/src/qml/jsruntime/qv4objectiterator.cpp b/src/qml/jsruntime/qv4objectiterator.cpp index f9038472df..f9ccb8f829 100644 --- a/src/qml/jsruntime/qv4objectiterator.cpp +++ b/src/qml/jsruntime/qv4objectiterator.cpp @@ -68,15 +68,15 @@ ObjectIterator::ObjectIterator(Value *scratch1, Value *scratch2, uint flags) , memberIndex(0) , flags(flags) { - object->o = (Object*)0; - current->o = (Object*)0; + object->m = (Object*)0; + current->m = (Object*)0; // Caller needs to call init! } void ObjectIterator::init(Object *o) { - object->o = o; - current->o = o; + object->m = o; + current->m = o; #if QT_POINTER_SIZE == 4 object->tag = QV4::Value::Managed_Type; @@ -126,9 +126,9 @@ void ObjectIterator::next(String *&name, uint *index, Property *pd, PropertyAttr } if (flags & WithProtoChain) - current->o = current->objectValue()->prototype(); + current->m = current->objectValue()->prototype(); else - current->o = (Object *)0; + current->m = (Object *)0; arrayIndex = 0; memberIndex = 0; diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp index f72f25bd58..cb7e219354 100644 --- a/src/qml/jsruntime/qv4runtime.cpp +++ b/src/qml/jsruntime/qv4runtime.cpp @@ -881,7 +881,9 @@ ReturnedValue Runtime::callActivationProperty(ExecutionContext *context, String Scope scope(context); ScopedObject base(scope); - ScopedValue func(scope, context->getPropertyAndBase(name, base.ptr->o)); + Object *baseObj = base.ptr->objectValue(); + ScopedValue func(scope, context->getPropertyAndBase(name, baseObj)); + base.ptr->m = baseObj; if (scope.engine->hasException) return Encode::undefined(); diff --git a/src/qml/jsruntime/qv4value_p.h b/src/qml/jsruntime/qv4value_p.h index 59a4543538..f215162c2f 100644 --- a/src/qml/jsruntime/qv4value_p.h +++ b/src/qml/jsruntime/qv4value_p.h @@ -87,8 +87,6 @@ struct Q_QML_PRIVATE_EXPORT Value quint64 val; #if QT_POINTER_SIZE == 8 Managed *m; - Object *o; - String *s; #else double dbl; #endif @@ -101,8 +99,6 @@ struct Q_QML_PRIVATE_EXPORT Value int int_32; #if QT_POINTER_SIZE == 4 Managed *m; - Object *o; - String *s; #endif }; #if Q_BYTE_ORDER == Q_LITTLE_ENDIAN @@ -270,10 +266,10 @@ struct Q_QML_PRIVATE_EXPORT Value } String *stringValue() const { - return s; + return reinterpret_cast<String*>(m); } Object *objectValue() const { - return o; + return reinterpret_cast<Object*>(m); } Managed *managed() const { return m; @@ -283,7 +279,7 @@ struct Q_QML_PRIVATE_EXPORT Value return val; } - static inline Value fromManaged(Managed *o); + static inline Value fromManaged(Managed *m); int toUInt16() const; inline int toInt32() const; |