From: <sag...@us...> - 2013-04-26 17:13:53
|
Revision: 1974 http://sourceforge.net/p/modplug/code/1974 Author: saga-games Date: 2013-04-26 17:13:44 +0000 (Fri, 26 Apr 2013) Log Message: ----------- [Fix] Rearrange instruments was broken... again (broke in OpenMPT 1.22 although I have no idea why it was still working in OpenMPT 1.21). Modified Paths: -------------- trunk/OpenMPT/mptrack/CleanupSong.cpp trunk/OpenMPT/mptrack/Modedit.cpp Modified: trunk/OpenMPT/mptrack/CleanupSong.cpp =================================================================== --- trunk/OpenMPT/mptrack/CleanupSong.cpp 2013-04-25 22:35:51 UTC (rev 1973) +++ trunk/OpenMPT/mptrack/CleanupSong.cpp 2013-04-26 17:13:44 UTC (rev 1974) @@ -345,17 +345,18 @@ struct OrigPatSettings { - bool isPatUsed; // Is pattern used in sequence? - PATTERNINDEX newIndex; // map old pattern index <-> new pattern index // This stuff is needed for copying the old pattern properties to the new pattern number + CString name; // original pattern name ModCommand *data; // original pattern data ROWINDEX numRows; // original pattern sizes ROWINDEX rowsPerBeat; // original pattern highlight ROWINDEX rowsPerMeasure; // original pattern highlight - CString name; // original pattern name + + PATTERNINDEX newIndex; // map old pattern index <-> new pattern index + bool isPatUsed; // Is pattern used in sequence? }; -const OrigPatSettings defaultSettings = { false, 0, nullptr, 0, 0, 0, "" }; +const OrigPatSettings defaultSettings = { "", nullptr, 0, 0, 0, 0, false }; // Remove unused patterns / rearrange patterns // If argument bRemove is true, unused patterns are removed. Else, patterns are only rearranged. Modified: trunk/OpenMPT/mptrack/Modedit.cpp =================================================================== --- trunk/OpenMPT/mptrack/Modedit.cpp 2013-04-25 22:35:51 UTC (rev 1973) +++ trunk/OpenMPT/mptrack/Modedit.cpp 2013-04-26 17:13:44 UTC (rev 1974) @@ -394,7 +394,6 @@ CriticalSection cs; const INSTRUMENTINDEX oldNumInstruments = m_SndFile.GetNumInstruments(), newNumInstruments = static_cast<INSTRUMENTINDEX>(newOrder.size()); - m_SndFile.m_nInstruments = static_cast<INSTRUMENTINDEX>(newOrder.size()); vector<ModInstrument> instrumentHeaders(oldNumInstruments + 1); vector<INSTRUMENTINDEX> newIndex(oldNumInstruments + 1, 0); // One of the new indexes for the old instrument @@ -418,6 +417,8 @@ } } + m_SndFile.m_nInstruments = newNumInstruments; + // Now, create new instrument list. for(INSTRUMENTINDEX i = 0; i < newNumInstruments; i++) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |