From 151d71bc697bb61bebc9cd90d890908cfe1ec275 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 14 Dec 2017 17:21:17 +0100 Subject: [PATCH] fix misalignment in vector2 [] operator. --- include/assimp/vector2.inl | 10 +++++++++- include/assimp/vector3.inl | 1 - 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/assimp/vector2.inl b/include/assimp/vector2.inl index 5ce13eece..ee6c4d2d4 100644 --- a/include/assimp/vector2.inl +++ b/include/assimp/vector2.inl @@ -114,7 +114,15 @@ const aiVector2t& aiVector2t::operator /= (TReal f) { // ------------------------------------------------------------------------------------------------ template TReal aiVector2t::operator[](unsigned int i) const { - return *(&x + i); + switch (i) { + case 0: + return x; + case 1: + return y; + default: + break; + } + return x; } // ------------------------------------------------------------------------------------------------ diff --git a/include/assimp/vector3.inl b/include/assimp/vector3.inl index a074bb23a..2b132c1a5 100644 --- a/include/assimp/vector3.inl +++ b/include/assimp/vector3.inl @@ -142,7 +142,6 @@ AI_FORCE_INLINE aiVector3t& aiVector3t::operator *= (const aiMatri // ------------------------------------------------------------------------------------------------ template AI_FORCE_INLINE TReal aiVector3t::operator[](unsigned int i) const { -// return *(&x + i); switch (i) { case 0: return x;