From: Jani Uusi-Rantala Date: Tue, 1 Nov 2011 19:30:55 +0000 (+0200) Subject: Fix most of the declarative bindings failing on ARM. X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=afafc1d9cc8e6d3fc5da29251cdf5d3bb6404a1b;p=konrad%2Fqtdeclarative.git 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 --- 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) {