diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-01-04 01:00:16 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-01-04 01:00:16 +0300 |
commit | 2e82d3003315806076a53df23064ba744e491fc2 (patch) | |
tree | 6cccb9ca1cf7126b6377269df7b376a2f50aa9be /src | |
parent | 75de17c7a86060f1c9475350c2e1bc7a712cd6b8 (diff) | |
download | manaplus-2e82d3003315806076a53df23064ba744e491fc2.tar.gz manaplus-2e82d3003315806076a53df23064ba744e491fc2.tar.bz2 manaplus-2e82d3003315806076a53df23064ba744e491fc2.tar.xz manaplus-2e82d3003315806076a53df23064ba744e491fc2.zip |
Fix crash in special layer drawing with enabled simd in compiler flags.
Diffstat (limited to 'src')
-rw-r--r-- | src/resources/map/maplayer.cpp | 1 | ||||
-rw-r--r-- | 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; }; |