summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author“pengxuanzheng” <[email protected]>2022-07-15 09:21:23 +0000
committer“pengxuanzheng” <[email protected]>2022-07-15 09:21:23 +0000
commited86120fa4072ce922550ae1304e889e15694ef6 (patch)
treee0ab5367a9e1c5647df26e37fdbb7daa6b245283
parent96b60167ad8556589187623a70d96c13350b4582 (diff)
✨ feat(TSG-11123): 修复lua_cache_exec context为空的时候,即使设置了userdata也会获取不到的情况v1.1.2
-rw-r--r--src/tsg_lua_func.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/tsg_lua_func.cpp b/src/tsg_lua_func.cpp
index 2d6345f..463942c 100644
--- a/src/tsg_lua_func.cpp
+++ b/src/tsg_lua_func.cpp
@@ -1709,12 +1709,13 @@ int lua_cache_exec(tsg_lua_handle L, size_t script_id, struct lua_data_t in, voi
return ERR_LUA_PRIVATE_INFO_IS_NIL;
}
+ lua_info->userdata = userdata;
if (context != NULL && context->context_id != LUA_REFNIL && context->context_id != LUA_NOREF)
{
- lua_info->userdata = userdata;
lua_getglobal(L, lua_info->lua_name);
lua_rawgeti(L, LUA_REGISTRYINDEX, context->context_id);
lua_setfield(L, -2, "context");
+ lua_settop(L, 0);
}
return tsg_lua_cache_exec(L, script_id, in.data, in.len, outvalue->str, &outvalue->len, &outvalue->type);