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