KYRA: Fix Common::List::erase usage.

Thanks to Tron for pointing that out.
This commit is contained in:
Johannes Schickel 2011-11-01 16:25:04 +01:00
parent 5cc76e8d71
commit 57ca48d547
2 changed files with 5 additions and 3 deletions

View file

@ -1322,7 +1322,7 @@ void KyraEngine_LoK::seq_playCredits() {
_screen->copyRegion(0, 32, 0, 32, 320, 128, 4, 2, Screen::CR_NO_P_CHECK);
bottom = 0;
for (CreditsLineList::iterator it = lines.begin(); it != lines.end(); ++it) {
for (CreditsLineList::iterator it = lines.begin(); it != lines.end();) {
if (it->y < 0) {
it = lines.erase(it);
continue;
@ -1338,6 +1338,8 @@ void KyraEngine_LoK::seq_playCredits() {
it->y--;
if (it->y > bottom)
bottom = it->y;
++it;
}
_screen->copyRegion(0, 32, 0, 32, 320, 128, 2, 0, Screen::CR_NO_P_CHECK);

View file

@ -98,12 +98,12 @@ bool LoLEngine::snd_playCharacterSpeech(int id, int8 speaker, int) {
_speechList = newSpeechList;
_activeVoiceFileTotalTime = 0;
for (SpeechList::iterator i = _speechList.begin(); i != _speechList.end(); ++i) {
for (SpeechList::iterator i = _speechList.begin(); i != _speechList.end();) {
// Just in case any file loading failed: Remove the bad streams here.
if (!*i)
i = _speechList.erase(i);
else
_activeVoiceFileTotalTime += (*i)->getLength().msecs();
_activeVoiceFileTotalTime += (*i++)->getLength().msecs();
}
_sound->playVoiceStream(*_speechList.begin(), &_speechHandle);