diff --git a/src/declarative/qml/v4/qv4bindings.cpp b/src/declarative/qml/v4/qv4bindings.cpp index 2c26fff3d89d6da193e384c238c5ceef12f785c6..319dbf51bbc62093683b75470b8a37f2f64265e7 100644 --- a/src/declarative/qml/v4/qv4bindings.cpp +++ b/src/declarative/qml/v4/qv4bindings.cpp @@ -256,7 +256,8 @@ void QV4Bindings::Binding::destroy() int QV4Bindings::Binding::propertyIndex() const { - return property; + //mask out the type information set for value types + return property & 0xFF00FFFF; } QObject *QV4Bindings::Binding::object() const diff --git a/src/declarative/qml/v4/qv4bindings_p.h b/src/declarative/qml/v4/qv4bindings_p.h index 58dd4328af720118384c6f3da78b376eeaf29bb3..a447481a4c2ab31a02b03e70014551583df9296c 100644 --- a/src/declarative/qml/v4/qv4bindings_p.h +++ b/src/declarative/qml/v4/qv4bindings_p.h @@ -96,6 +96,8 @@ private: int index:30; bool enabled:1; bool updating:1; + // Encoding of property is coreIndex | (propType << 16) | (valueTypeIndex << 24) + // propType and valueTypeIndex are only set if the property is a value type property int property; QObject *scope; int line;