From: minho.sun Date: Thu, 9 Feb 2017 01:25:47 +0000 (+0900) Subject: Revert "[Tizen] Fix undefined behaviour due to strict-aliasing." X-Git-Tag: accepted/tizen/common/20170223.182714~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4efb58549e378c0e55f6826e42735447cdeee18e;p=platform%2Fcore%2Fuifw%2Fdali-core.git Revert "[Tizen] Fix undefined behaviour due to strict-aliasing." This reverts commit abfc79dfe46291b4a66333135634d202bd6c7711. Change-Id: I714cd8c2288886962b84a2891fa314e34a805ef3 --- diff --git a/dali/internal/update/manager/geometry-batcher.cpp b/dali/internal/update/manager/geometry-batcher.cpp index 2ec048e..2409c95 100644 --- a/dali/internal/update/manager/geometry-batcher.cpp +++ b/dali/internal/update/manager/geometry-batcher.cpp @@ -63,18 +63,18 @@ struct TransformVertexBufferData template void TransformVertexBuffer( TransformVertexBufferData& data ) { - const char* source = reinterpret_cast( data.sourcePtr ); - char* destination = reinterpret_cast( data.destinationPtr ); + const PositionType* source = reinterpret_cast( data.sourcePtr ); + PositionType* destination = reinterpret_cast( data.destinationPtr ); size_t componentSize = data.componentSize ? data.componentSize : sizeof( PositionType ); - const char* sourceEnd = source + data.vertexCount*componentSize; + const void* sourceEnd = (reinterpret_cast( source ) + ( data.vertexCount*componentSize )); for( ; source < sourceEnd; - destination += componentSize, - source += componentSize + *(reinterpret_cast( &destination )) += componentSize, + *(reinterpret_cast( &source )) += componentSize ) { - Dali::Internal::MultiplyVectorBySize( *reinterpret_cast(destination), *reinterpret_cast(source), data.size ); - Dali::Internal::MultiplyVectorByMatrix4( *reinterpret_cast(destination), data.transform, *reinterpret_cast(destination) ); + Dali::Internal::MultiplyVectorBySize( *destination, *source, data.size ); + Dali::Internal::MultiplyVectorByMatrix4( *destination, data.transform, *destination ); } }