From 05ae68f291a4e8a5b8353bd9b905d4ec6710ea5a Mon Sep 17 00:00:00 2001 From: "Juergen E. Fischer" Date: Sun, 5 Jul 2015 12:46:44 +0200 Subject: [PATCH] fix arm build again (followup 68fe5f5 and 1aff733) --- src/core/geometry/qgscircularstringv2.cpp | 6 ++++++ src/core/geometry/qgspointv2.cpp | 6 ++++++ src/core/geometry/qgswkbptr.h | 10 ++++++++++ 3 files changed, 22 insertions(+) diff --git a/src/core/geometry/qgscircularstringv2.cpp b/src/core/geometry/qgscircularstringv2.cpp index 963e9a3..f173cad 100644 --- a/src/core/geometry/qgscircularstringv2.cpp +++ b/src/core/geometry/qgscircularstringv2.cpp @@ -603,7 +603,13 @@ void QgsCircularStringV2::transform( const QTransform& t ) int nPoints = numPoints(); for ( int i = 0; i < nPoints; ++i ) { +#ifdef QT_ARCH_ARM + qreal x, y; + t.map( mX[i], mY[i], &x, &y ); + mX[i] = x; mY[i] = y; +#else t.map( mX[i], mY[i], &mX[i], &mY[i] ); +#endif } } diff --git a/src/core/geometry/qgspointv2.cpp b/src/core/geometry/qgspointv2.cpp index 8a8076c..dba17a4 100644 --- a/src/core/geometry/qgspointv2.cpp +++ b/src/core/geometry/qgspointv2.cpp @@ -241,5 +241,11 @@ bool QgsPointV2::nextVertex( QgsVertexId& id, QgsPointV2& vertex ) const void QgsPointV2::transform( const QTransform& t ) { +#ifdef QT_ARCH_ARM + qreal x, y; + t.map( mX, mY, &x, &y ); + mX = x; mY = y; +#else t.map( mX, mY, &mX, &mY ); +#endif } diff --git a/src/core/geometry/qgswkbptr.h b/src/core/geometry/qgswkbptr.h index 987017d..f6e6d03 100644 --- a/src/core/geometry/qgswkbptr.h +++ b/src/core/geometry/qgswkbptr.h @@ -18,6 +18,9 @@ class CORE_EXPORT QgsWkbPtr inline const QgsWkbPtr &operator>>( char &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; } inline const QgsWkbPtr &operator>>( QgsWKBTypes::Type &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; } inline const QgsWkbPtr &operator>>( QGis::WkbType &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; } +#ifdef QT_ARCH_ARM + inline const QgsWkbPtr &operator>>( qreal &r ) const { double v; memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); r = v; return *this; } +#endif inline QgsWkbPtr &operator<<( const double &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; } inline QgsWkbPtr &operator<<( const int &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; } @@ -25,6 +28,10 @@ class CORE_EXPORT QgsWkbPtr inline QgsWkbPtr &operator<<( const char &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; } inline QgsWkbPtr &operator<<( const QgsWKBTypes::Type &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; } inline QgsWkbPtr &operator<<( const QGis::WkbType &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; } +#ifdef QT_ARCH_ARM + inline QgsWkbPtr &operator<<( const qreal &r ) { double v = r; memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; } +#endif + inline void operator+=( int n ) { mP += n; } inline operator unsigned char *() const { return mP; } @@ -45,6 +52,9 @@ class CORE_EXPORT QgsConstWkbPtr inline const QgsConstWkbPtr &operator>>( char &v ) const { read( v ); return *this; } inline const QgsConstWkbPtr &operator>>( QGis::WkbType &v ) const { read( v ); return *this; } inline const QgsConstWkbPtr &operator>>( QgsWKBTypes::Type &v ) const { read( v ); return *this; } +#ifdef QT_ARCH_ARM + inline const QgsConstWkbPtr &operator>>( qreal &r ) const { double v; read( v ); r = v; return *this; } +#endif inline void operator+=( int n ) { mP += n; } inline void operator-=( int n ) { mP -= n; }