diff --git a/src/core/ConfigManager.cpp b/src/core/ConfigManager.cpp index b6cff1eed..1a1724292 100644 --- a/src/core/ConfigManager.cpp +++ b/src/core/ConfigManager.cpp @@ -139,7 +139,8 @@ void ConfigManager::upgrade() } // Runs all necessary upgrade methods - std::for_each( UPGRADE_METHODS.begin() + m_configVersion, UPGRADE_METHODS.end(), + std::size_t max = std::min(static_cast(m_configVersion), UPGRADE_METHODS.size()); + std::for_each( UPGRADE_METHODS.begin() + max, UPGRADE_METHODS.end(), [this](UpgradeMethod um) { (this->*um)(); diff --git a/src/core/DataFile.cpp b/src/core/DataFile.cpp index 82694b7da..a4e33443f 100644 --- a/src/core/DataFile.cpp +++ b/src/core/DataFile.cpp @@ -1762,7 +1762,8 @@ void DataFile::upgrade_defaultTripleOscillatorHQ() void DataFile::upgrade() { // Runs all necessary upgrade methods - std::for_each( UPGRADE_METHODS.begin() + m_fileVersion, UPGRADE_METHODS.end(), + std::size_t max = std::min(static_cast(m_fileVersion), UPGRADE_METHODS.size()); + std::for_each( UPGRADE_METHODS.begin() + max, UPGRADE_METHODS.end(), [this](UpgradeMethod um) { (this->*um)();