aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qml/jsruntime/qv4objectiterator.cpp12
-rw-r--r--src/qml/jsruntime/qv4runtime.cpp4
-rw-r--r--src/qml/jsruntime/qv4value_p.h10
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;