From 04fb631120590c55812a11a576dca48dafec6aea Mon Sep 17 00:00:00 2001 From: Michael Brasser <michael.brasser@nokia.com> Date: Wed, 29 Feb 2012 13:55:58 +1000 Subject: [PATCH] Return correct propertyIndex for v4 bindings. Change-Id: I4aa37491d36331889f6b30c4d4af8b56cef96225 Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com> --- src/declarative/qml/v4/qv4bindings.cpp | 3 ++- src/declarative/qml/v4/qv4bindings_p.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/declarative/qml/v4/qv4bindings.cpp b/src/declarative/qml/v4/qv4bindings.cpp index 2c26fff3d8..319dbf51bb 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 58dd4328af..a447481a4c 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; -- GitLab