From afafc1d9cc8e6d3fc5da29251cdf5d3bb6404a1b Mon Sep 17 00:00:00 2001 From: Jani Uusi-Rantala Date: Tue, 1 Nov 2011 21:30:55 +0200 Subject: [PATCH] Fix most of the declarative bindings failing on ARM. There was a mismatch between 32 and 64-bit integers which caused a lot of qdeclarative unit tests to fail and QML to generally not work properly on ARM. All of the failing auto tests pass now on ARMV7. Change-Id: Icf230f79e56c15743c6ee943859ac02e649a6e0a Reviewed-by: Aaron Kennedy --- src/declarative/qml/qdeclarativedata_p.h | 2 +- src/declarative/qml/qdeclarativeengine.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/qml/qdeclarativedata_p.h b/src/declarative/qml/qdeclarativedata_p.h index 1bebee5..a497257 100644 --- a/src/declarative/qml/qdeclarativedata_p.h +++ b/src/declarative/qml/qdeclarativedata_p.h @@ -187,7 +187,7 @@ QDeclarativeNotifierEndpoint *QDeclarativeData::notify(int index) { Q_ASSERT(index <= 0xFFFF); - if (!notifyList || !(notifyList->connectionMask & (1 << (quint64(index) % 64)))) { + if (!notifyList || !(notifyList->connectionMask & (1ULL << quint64(index % 64)))) { return 0; } else if (index < notifyList->notifiesSize) { return notifyList->notifies[index]; diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 50b5db8..86c944f 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1114,7 +1114,7 @@ void QDeclarativeData::addNotify(int index, QDeclarativeNotifierEndpoint *endpoi Q_ASSERT(!endpoint->isConnected()); index = qMin(index, 0xFFFF - 1); - notifyList->connectionMask |= (1 << (quint64(index) % 64)); + notifyList->connectionMask |= (1ULL << quint64(index % 64)); if (index < notifyList->notifiesSize) { -- 1.7.2.5