1
0
Fork 0

GPWS: avoid "altitude_callout_voice != NULL" assertion

Properly remember which active alerts were already voiced.
Added NULL-pointer safety check
This commit is contained in:
ThorstenB 2011-01-21 19:55:42 +01:00
parent 258a4436aa
commit 99ee9a1bbb

View file

@ -2319,6 +2319,8 @@ MK_VIII::VoicePlayer::get_sample (const char *name)
void
MK_VIII::VoicePlayer::play (Voice *_voice, unsigned int flags)
{
if (!_voice)
return;
if (test_bits(flags, PLAY_NOW) || ! voice || voice->element->silence)
{
if (voice)
@ -2978,9 +2980,10 @@ MK_VIII::AlertHandler::update ()
mk->voice_player.play(mk_voice(bank_angle_pause_bank_angle));
}
// set new state
old_alerts = voice_alerts;
// remember all alerts voiced so far...
old_alerts |= voice_alerts;
// ... forget those no longer active
old_alerts &= alerts;
repeated_alerts = 0;
}