From 7cf43b9ddaa0f64a3844568d8cf9b19f46b6b627 Mon Sep 17 00:00:00 2001 From: Joost Peters Date: Sun, 2 Aug 2009 21:22:46 +0000 Subject: [PATCH] Fix AGI crashes on 64-bit systems that require alignment svn-id: r43011 --- engines/agi/sprite.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/engines/agi/sprite.cpp b/engines/agi/sprite.cpp index f3c0b7365c2..63ac8802679 100644 --- a/engines/agi/sprite.cpp +++ b/engines/agi/sprite.cpp @@ -56,9 +56,10 @@ struct Sprite { void *SpritesMgr::poolAlloc(int size) { uint8 *x; - // Adjust size to 32-bit boundary to prevent data misalignment + // Adjust size to sizeof(void *) boundary to prevent data misalignment // errors. - size = (size + 3) & ~3; + const int alignPadding = sizeof(void*) - 1; + size = (size + alignPadding) & ~alignPadding; x = _poolTop; _poolTop += size;