diff --git a/src/Player.cpp b/src/Player.cpp index 58266cf7bb..163bfee799 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2790,7 +2790,6 @@ void Player::UpdateTapNotesMissedOlderThan( float fMissIfOlderThanSeconds ) if( tn.type == TapNoteType_Mine ) { tn.result.tns = TNS_AvoidMine; - /* The only real way to tell if a mine has been scored is if it has disappeared * but this only works for hit mines so update the scores for avoided mines here. */ if( m_pPrimaryScoreKeeper ) @@ -2896,6 +2895,7 @@ void Player::UpdateJudgedRows() continue; case TNS_AvoidMine: SetMineJudgment( tn.result.tns , iter.Track() ); + tn.result.bHidden= true; continue; case TNS_HitMine: SetMineJudgment( tn.result.tns , iter.Track() ); @@ -2939,6 +2939,12 @@ void Player::UpdateJudgedRows() m_pSecondaryScoreKeeper->HandleTapScore( tn ); tn.result.bHidden = true; } + // If we hit the end of the loop, m_pIterUnjudgedMineRows needs to be + // updated. -Kyz + if((iter.IsAtEnd() || iLastSeenRow == iEndRow) && bAllJudged) + { + *m_pIterUnjudgedMineRows= iter; + } FOREACHS( RageSound *, setSounds, s ) {