From 5dd138750818c16cae4753350f79dd4c675b6b4a Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 7 Jun 2008 00:06:36 +0000 Subject: [PATCH] (svn r13397) -Fix: Do not crash when resolving vehicle sprite groups with zero sprites. --- src/newgrf_engine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index f809fcc67a..7bf56d53b3 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -880,7 +880,7 @@ SpriteID GetCustomEngineSprite(EngineID engine, const Vehicle *v, Direction dire NewVehicleResolver(&object, engine, v); group = Resolve(GetVehicleSpriteGroup(engine, v), &object); - if (group == NULL || group->type != SGT_RESULT) return 0; + if (group == NULL || group->type != SGT_RESULT || group->g.result.num_sprites == 0) return 0; return group->g.result.sprite + (direction % group->g.result.num_sprites); } @@ -903,7 +903,7 @@ SpriteID GetRotorOverrideSprite(EngineID engine, const Vehicle *v, bool info_vie const SpriteGroup *group = GetWagonOverrideSpriteSet(engine, CT_DEFAULT, engine); group = Resolve(group, &object); - if (group == NULL || group->type != SGT_RESULT) return 0; + if (group == NULL || group->type != SGT_RESULT || group->g.result.num_sprites == 0) return 0; if (v == NULL) return group->g.result.sprite;