From: <sag...@us...> - 2012-05-23 15:28:05
|
Revision: 1279 http://modplug.svn.sourceforge.net/modplug/?rev=1279&view=rev Author: saga-games Date: 2012-05-23 15:27:52 +0000 (Wed, 23 May 2012) Log Message: ----------- [Fix] An order list beginning with a separator and a stop pattern shouldn't hang the tracker anymore (http://bugs.openmpt.org/view.php?id=255). [Mod] OpenMPT: Version is now 1.20.01.03 Modified Paths: -------------- trunk/OpenMPT/mptrack/version.h trunk/OpenMPT/soundlib/SampleFormats.cpp trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/mptrack/version.h =================================================================== --- trunk/OpenMPT/mptrack/version.h 2012-05-23 14:58:53 UTC (rev 1278) +++ trunk/OpenMPT/mptrack/version.h 2012-05-23 15:27:52 UTC (rev 1279) @@ -19,7 +19,7 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 20 #define VER_MINOR 01 -#define VER_MINORMINOR 02 +#define VER_MINORMINOR 03 //Creates version number from version parts that appears in version string. //For example MAKE_VERSION_NUMERIC(1,17,02,28) gives version number of Modified: trunk/OpenMPT/soundlib/SampleFormats.cpp =================================================================== --- trunk/OpenMPT/soundlib/SampleFormats.cpp 2012-05-23 14:58:53 UTC (rev 1278) +++ trunk/OpenMPT/soundlib/SampleFormats.cpp 2012-05-23 15:27:52 UTC (rev 1279) @@ -1450,11 +1450,10 @@ // Convert sample rate to integer uint32 GetSampleRate() const { - uint32 mantissa, last = 0; - uint8 exp; + uint32 mantissa = *reinterpret_cast<const uint32 *>(&sampleRate[2]), last = 0; + uint8 exp = 30 - sampleRate[1]; + SwapBytesBE(mantissa); - mantissa = SwapBytesBE(static_cast<uint32 >(*reinterpret_cast<const uint32 *>(sampleRate + 2))); - exp = 30 - sampleRate[1]; while(exp--) { last = mantissa; Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp =================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp 2012-05-23 14:58:53 UTC (rev 1278) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2012-05-23 15:27:52 UTC (rev 1279) @@ -200,7 +200,10 @@ { // We haven't found the target row yet, but we found some other unplayed row... continue searching from here. memory.Reset(); - continue; + nRow = nNextRow; + nCurrentOrder = nNextOrder; + nPattern = Order[nCurrentOrder]; + break; } } } @@ -4617,4 +4620,4 @@ pChn->nOldFinePortaUpDown = abs(tickParam); pChn->m_CalculateFreq = true; -} \ No newline at end of file +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |