summaryrefslogtreecommitdiff
path: root/Runtime/Lua/LuaBind/LuaBindLFunction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Runtime/Lua/LuaBind/LuaBindLFunction.cpp')
-rw-r--r--Runtime/Lua/LuaBind/LuaBindLFunction.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/Runtime/Lua/LuaBind/LuaBindLFunction.cpp b/Runtime/Lua/LuaBind/LuaBindLFunction.cpp
index b468897..1e7b75f 100644
--- a/Runtime/Lua/LuaBind/LuaBindLFunction.cpp
+++ b/Runtime/Lua/LuaBind/LuaBindLFunction.cpp
@@ -6,6 +6,7 @@ namespace LuaBind
LuaFunction::LuaFunction(const char* func)
{
+ argc = 0;
method = func;
}
@@ -54,10 +55,13 @@ namespace LuaBind
{
if (state.GetGlobalField(method))
{
- int funcIdx = -1 - argc;
- lua_replace(state, funcIdx);
- state.Call(argc, nReturns);
+ if (state.IsType(-1, LUA_TFUNCTION)) {
+ int funcIdx = -1 - argc;
+ lua_insert(state, funcIdx);
+ state.Call(argc, nReturns);
+ }
}
+ argc = 0;
}
} \ No newline at end of file