Lua.cpp: Don't call unregister callbacks if nothing get unreg'd

This commit is contained in:
Ilari Liusvaara 2014-05-13 16:31:07 +03:00
parent 04575a789b
commit 1cd3e3d004

View file

@ -615,8 +615,7 @@ void function_group::do_unregister(const std::string& name, function& fun)
{
threads::arlock h(get_lua_lock());
auto state = fgroup_internal_t::get_soft(this);
if(!state) return;
if(state && state->functions.count(name) && state->functions[name] == &fun)
if(!state || !state->functions.count(name) || state->functions[name] != &fun) return;
state->functions.erase(name);
for(auto i : state->callbacks)
i.second(name, NULL);