Fixed a crash in the plugin reload code.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1415 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
parent
fb58acf27c
commit
03551b034f
@ -100,6 +100,8 @@ void cPluginManager::ReloadPluginsNow(void)
|
|||||||
|
|
||||||
FindPlugins();
|
FindPlugins();
|
||||||
|
|
||||||
|
cServer::BindBuiltInConsoleCommands();
|
||||||
|
|
||||||
cIniFile IniFile("settings.ini");
|
cIniFile IniFile("settings.ini");
|
||||||
if (!IniFile.ReadFile())
|
if (!IniFile.ReadFile())
|
||||||
{
|
{
|
||||||
@ -138,7 +140,6 @@ void cPluginManager::ReloadPluginsNow(void)
|
|||||||
{
|
{
|
||||||
LOG("Loaded %i plugin(s)", GetNumPlugins());
|
LOG("Loaded %i plugin(s)", GetNumPlugins());
|
||||||
}
|
}
|
||||||
cServer::BindBuiltInConsoleCommands();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1048,6 +1049,8 @@ void cPluginManager::UnloadPluginsNow()
|
|||||||
RemovePlugin(m_Plugins.begin()->second);
|
RemovePlugin(m_Plugins.begin()->second);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_Commands.clear();
|
||||||
|
m_ConsoleCommands.clear();
|
||||||
//SquirrelVM::Shutdown(); // This breaks shit
|
//SquirrelVM::Shutdown(); // This breaks shit
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1250,8 +1253,15 @@ bool cPluginManager::BindConsoleCommand(const AString & a_Command, cPlugin * a_P
|
|||||||
{
|
{
|
||||||
CommandMap::iterator cmd = m_ConsoleCommands.find(a_Command);
|
CommandMap::iterator cmd = m_ConsoleCommands.find(a_Command);
|
||||||
if (cmd != m_ConsoleCommands.end())
|
if (cmd != m_ConsoleCommands.end())
|
||||||
|
{
|
||||||
|
if (cmd->second.m_Plugin == NULL)
|
||||||
|
{
|
||||||
|
LOGWARNING("Console command \"%s\" is already bound internally by MCServer.", a_Command.c_str());
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
LOGWARNING("Console command \"%s\" is already bound to plugin \"%s\".", a_Command.c_str(), cmd->second.m_Plugin->GetName().c_str());
|
LOGWARNING("Console command \"%s\" is already bound to plugin \"%s\".", a_Command.c_str(), cmd->second.m_Plugin->GetName().c_str());
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user