fix(lua): signal functions were being deleted after being called
This commit is contained in:
parent
5fdc745259
commit
49f29b6af1
1 changed files with 0 additions and 2 deletions
|
@ -23,7 +23,6 @@ LuaSignalConnection::LuaSignalConnection(lua_State* L, std::weak_ptr<Signal> par
|
||||||
|
|
||||||
// Save function so it doesn't get GC'd
|
// Save function so it doesn't get GC'd
|
||||||
function = luaL_ref(L, LUA_REGISTRYINDEX);
|
function = luaL_ref(L, LUA_REGISTRYINDEX);
|
||||||
lua_pop(L, 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LuaSignalConnection::~LuaSignalConnection() {
|
LuaSignalConnection::~LuaSignalConnection() {
|
||||||
|
@ -36,7 +35,6 @@ void LuaSignalConnection::Call(std::vector<Data::Variant> args) {
|
||||||
|
|
||||||
// Push function
|
// Push function
|
||||||
lua_rawgeti(thread, LUA_REGISTRYINDEX, function);
|
lua_rawgeti(thread, LUA_REGISTRYINDEX, function);
|
||||||
luaL_unref(thread, LUA_REGISTRYINDEX, function);
|
|
||||||
|
|
||||||
for (Data::Variant arg : args) {
|
for (Data::Variant arg : args) {
|
||||||
arg.PushLuaValue(thread);
|
arg.PushLuaValue(thread);
|
||||||
|
|
Loading…
Add table
Reference in a new issue