aboutsummaryrefslogtreecommitdiff
path: root/src/lua.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua.c')
-rw-r--r--src/lua.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lua.c b/src/lua.c
index f0240b3..45ceeb9 100644
--- a/src/lua.c
+++ b/src/lua.c
@@ -287,6 +287,12 @@ void luaI_deepcopy(lua_State* src, lua_State* dest, enum deep_copy_flags flags){
lua_setmetatable(dest, tidx);
lua_settop(dest, tidx);
+
+ if(flags & STRIP_GC){
+ int sidx = lua_gettop(src);
+ lua_getmetatable(src, sidx);
+ luaI_tsetnil(src, sidx, "__gc");
+ }
}
lua_settop(src, old_top);
}