diff options
-rw-r--r-- | source/PluginManager.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/PluginManager.cpp b/source/PluginManager.cpp index ef7c9f3b3..8f9b2db70 100644 --- a/source/PluginManager.cpp +++ b/source/PluginManager.cpp @@ -1018,7 +1018,9 @@ void cPluginManager::RemovePluginCommands(cPlugin * a_Plugin) { if (itr->second.m_Plugin == a_Plugin) { - itr = m_Commands.erase(itr); + CommandMap::iterator NextItr = itr + 1; // Stupid GCC doesn't have a std::map::erase() that would return the next iterator + m_Commands.erase(itr); + itr = NextItr; } else { |