From c9b701038058b6ddb112d1fc2f57557b5ecf49ce Mon Sep 17 00:00:00 2001 From: Lynix Date: Sun, 20 Apr 2014 14:21:54 +0200 Subject: [PATCH] Fixed last commit Former-commit-id: 52606380de66987bdaab08e09eeff0632cc66e65 --- src/Nazara/Lua/LuaInstance.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Nazara/Lua/LuaInstance.cpp b/src/Nazara/Lua/LuaInstance.cpp index 76feebd35..6b054529d 100644 --- a/src/Nazara/Lua/LuaInstance.cpp +++ b/src/Nazara/Lua/LuaInstance.cpp @@ -583,7 +583,7 @@ void NzLuaInstance::PushCFunction(NzLuaCFunction func, int upvalueCount) void NzLuaInstance::PushFunction(NzLuaFunction func) { NzLuaFunction* luaFunc = reinterpret_cast(lua_newuserdata(m_state, sizeof(NzLuaFunction))); - *luaFunc = std::move(func); + new (luaFunc) NzLuaFunction(std::move(func)); lua_pushcclosure(m_state, ProxyFunc, 1); } @@ -840,8 +840,8 @@ void* NzLuaInstance::MemoryAllocator(void* ud, void* ptr, std::size_t osize, std int NzLuaInstance::ProxyFunc(lua_State* state) { - NzLuaFunction* func = static_cast(lua_touserdata(state, lua_upvalueindex(1))); - return (*func)(*GetInstance(state)); + NzLuaFunction& func = *static_cast(lua_touserdata(state, lua_upvalueindex(1))); + return func(*GetInstance(state)); } void NzLuaInstance::TimeLimiter(lua_State* state, lua_Debug* debug)