aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorStrangerke2014-05-25 18:24:08 +0200
committerStrangerke2014-05-25 18:24:08 +0200
commitac0a1b9357dc68479fdc477f00192e68a2396bd5 (patch)
tree03a0855b1923e23c7688d719fa58a46e19110409 /engines
parentff569b0d2e6f4cbc33e1a9109b7198745d85bd10 (diff)
downloadscummvm-rg350-ac0a1b9357dc68479fdc477f00192e68a2396bd5.tar.gz
scummvm-rg350-ac0a1b9357dc68479fdc477f00192e68a2396bd5.tar.bz2
scummvm-rg350-ac0a1b9357dc68479fdc477f00192e68a2396bd5.zip
TOON: Add a safeguard to avoid dereferencing a null pointer in playAnim()
Diffstat (limited to 'engines')
-rw-r--r--engines/toon/character.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/engines/toon/character.cpp b/engines/toon/character.cpp
index cab31795f7..51e8dee19f 100644
--- a/engines/toon/character.cpp
+++ b/engines/toon/character.cpp
@@ -1059,12 +1059,14 @@ void Character::playAnim(int32 animId, int32 unused, int32 flags) {
_specialAnim->loadAnimation(animName);
_animSpecialId = animId;
-
- _animationInstance->setAnimation(_specialAnim);
- _animationInstance->setAnimationRange(0, _specialAnim->_numFrames - 1);
- _animationInstance->reset();
- _animationInstance->stopAnimation();
- _animationInstance->setLooping(false);
+
+ if (_animationInstance) {
+ _animationInstance->setAnimation(_specialAnim);
+ _animationInstance->setAnimationRange(0, _specialAnim->_numFrames - 1);
+ _animationInstance->reset();
+ _animationInstance->stopAnimation();
+ _animationInstance->setLooping(false);
+ }
}
int32 Character::getAnimFlag() {