From 091d958b0c22e1bfd88144b4cda0c7ca00f4cf28 Mon Sep 17 00:00:00 2001 From: faketruth Date: Wed, 28 Mar 2012 18:11:06 +0000 Subject: Got rid of sPluginManagerState /pluginlist now also shows the number of active plugins Fixed crash caused by lingering bound Lua commands http://forum.mc-server.org/showthread.php?tid=212&pid=2541#pid2541 Added error messages when binding commands to an invalid plugin git-svn-id: http://mc-server.googlecode.com/svn/trunk@440 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cLuaCommandBinder.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/cLuaCommandBinder.cpp') diff --git a/source/cLuaCommandBinder.cpp b/source/cLuaCommandBinder.cpp index 2e1d504b1..712ea61c3 100644 --- a/source/cLuaCommandBinder.cpp +++ b/source/cLuaCommandBinder.cpp @@ -3,6 +3,7 @@ #include "cLuaCommandBinder.h" #include "cPlayer.h" +#include "cPlugin.h" #include "cPlugin_Lua.h" #include "tolua++.h" @@ -45,6 +46,11 @@ void cLuaCommandBinder::RemoveBindingsForPlugin( cPlugin* a_Plugin ) bool cLuaCommandBinder::BindCommand( const std::string & a_Command, const std::string & a_Permission, cPlugin* a_Plugin, lua_State * a_LuaState, int a_FunctionReference ) { + if( !a_Plugin->CanBindCommands() ) + { + LOGERROR("ERROR: Trying to bind command \"%s\" to a plugin that is not initialized.", a_Command.c_str() ); + return false; + } if( m_BoundCommands.find( a_Command ) != m_BoundCommands.end() ) { LOGERROR("ERROR: Trying to bind command \"%s\" that has already been bound.", a_Command.c_str() ); -- cgit v1.2.3