From 55195a502f5f464866347ce0da8b6a5023c19a9c Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 9 Jan 2007 00:26:56 +0000 Subject: [PATCH] fix crash when GetEndFrame() < m_iPositionFrames due to jumped position --- stepmania/src/RageSoundReader_Extend.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/stepmania/src/RageSoundReader_Extend.cpp b/stepmania/src/RageSoundReader_Extend.cpp index 9640132857..1b67de605b 100644 --- a/stepmania/src/RageSoundReader_Extend.cpp +++ b/stepmania/src/RageSoundReader_Extend.cpp @@ -49,7 +49,12 @@ int RageSoundReader_Extend::GetData( char *pBuffer, int iFrames ) { int iFramesToRead = iFrames; if( m_iLengthFrames != -1 ) - iFramesToRead = min( iFramesToRead, GetEndFrame() - m_iPositionFrames ); + { + int iFramesLeft = GetEndFrame() - m_iPositionFrames; + iFramesLeft = max( 0, iFramesLeft ); + iFramesToRead = min( iFramesToRead, iFramesLeft ); + } + if( iFrames && !iFramesToRead ) return RageSoundReader::END_OF_FILE;