From 481de1409111d105d6d1b9fd42f9d05d54d07993 Mon Sep 17 00:00:00 2001 From: Branan Purvine-Riley Date: Sun, 17 Apr 2011 14:12:43 -0700 Subject: [PATCH] Add null pointer checks so Bahro no longer crash release clients --- .../PubUtilLib/plAvatar/plAvBrainGeneric.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.cpp index 51c120bc..cd95449d 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.cpp @@ -413,11 +413,16 @@ hsBool plAvBrainGeneric::IProcessFadeIn(double time, float elapsed) IEnterMoveMode(time); // if fadeIn's not zero, we have to wait until fade's done // before animating } else { - curStage->GetAnimInstance()->Fade(1.0f, fFadeIn); + plAGAnimInstance *curAnim = curStage->GetAnimInstance(); + if(curAnim) + curAnim->Fade(1.0f, fFadeIn); } fMode = kFadingIn; } else { - float curBlend = curStage->GetAnimInstance()->GetBlend(); + plAGAnimInstance *curAnim = curStage->GetAnimInstance(); + float curBlend = 1.0f; + if(curAnim) + curBlend = curAnim->GetBlend(); if(curBlend == 1.0f) { IEnterMoveMode(time); @@ -440,7 +445,7 @@ hsBool plAvBrainGeneric::IProcessFadeOut(double time, float elapsed) plAGAnimInstance *curAnim = curStage->GetAnimInstance(); if(curAnim) { - curStage->GetAnimInstance()->Fade(0.0f, fFadeOut); + curAnim->Fade(0.0f, fFadeOut); IExitMoveMode(); fMode = kFadingOut; } else { @@ -454,7 +459,10 @@ hsBool plAvBrainGeneric::IProcessFadeOut(double time, float elapsed) } } else { // already fading; just keeping looking for the anim to zero out. - float curBlend = curStage->GetAnimInstance()->GetBlend(); + plAGAnimInstance *curAnim = curStage->GetAnimInstance(); + float curBlend = 0.0f; + if(curAnim) + curBlend = curAnim->GetBlend(); if(curBlend == 0.0f) { curStage->Detach(fAvMod);