From 2e82d3003315806076a53df23064ba744e491fc2 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 4 Jan 2017 01:00:16 +0300 Subject: Fix crash in special layer drawing with enabled simd in compiler flags. --- src/resources/map/maplayer.cpp | 1 + src/resources/map/speciallayer.h | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/resources/map/maplayer.cpp b/src/resources/map/maplayer.cpp index d92184e28..0780cd8d1 100644 --- a/src/resources/map/maplayer.cpp +++ b/src/resources/map/maplayer.cpp @@ -427,6 +427,7 @@ void MapLayer::drawSpecialLayer(Graphics *const graphics, x += mSpecialLayer->mCache[ptr + x]; } + x0 = startX; specialWidth = mTempLayer->mWidth; ptr = y * specialWidth; endX1 = endX; diff --git a/src/resources/map/speciallayer.h b/src/resources/map/speciallayer.h index f418aec7c..d71f1dab3 100644 --- a/src/resources/map/speciallayer.h +++ b/src/resources/map/speciallayer.h @@ -68,8 +68,8 @@ class SpecialLayer final : public MemoryCounter private: const std::string mName; - MapItem **mTiles; - int *mCache; + MapItem **mTiles __attribute__((packed)); + int *mCache __attribute__((packed)); int mWidth; int mHeight; }; -- cgit v1.2.3-70-g09d2