Lua API: Unify server env checks and fix missing ones (#16457)

A few functions tried to dereference a ServerEnvironment nullptr by
calling 'getEnv()'. This change makes use of a macro where possible.

This also cleans up incorrect macro uses, with no functional difference.
This commit is contained in:
SmallJoker
2025-09-04 19:00:23 +02:00
committed by GitHub
parent d24a7001ab
commit 56bc7814de
6 changed files with 36 additions and 55 deletions

View File

@@ -770,7 +770,7 @@ int ObjectRef::l_get_bone_overrides(lua_State *L)
// set_attach(self, parent, bone, position, rotation, force_visible)
int ObjectRef::l_set_attach(lua_State *L)
{
GET_ENV_PTR;
GET_ENV_PTR_NO_MAP_LOCK;
ObjectRef *ref = checkObject<ObjectRef>(L, 1);
ObjectRef *parent_ref = checkObject<ObjectRef>(L, 2);
ServerActiveObject *sao = getobject(ref);
@@ -797,7 +797,7 @@ int ObjectRef::l_set_attach(lua_State *L)
// get_attach(self)
int ObjectRef::l_get_attach(lua_State *L)
{
GET_ENV_PTR;
GET_ENV_PTR_NO_MAP_LOCK;
ObjectRef *ref = checkObject<ObjectRef>(L, 1);
ServerActiveObject *sao = getobject(ref);
if (sao == nullptr)
@@ -825,7 +825,7 @@ int ObjectRef::l_get_attach(lua_State *L)
// get_children(self)
int ObjectRef::l_get_children(lua_State *L)
{
GET_ENV_PTR;
GET_ENV_PTR_NO_MAP_LOCK;
ObjectRef *ref = checkObject<ObjectRef>(L, 1);
ServerActiveObject *sao = getobject(ref);
if (sao == nullptr)
@@ -898,7 +898,7 @@ int ObjectRef::l_get_properties(lua_State *L)
// set_observers(self, observers)
int ObjectRef::l_set_observers(lua_State *L)
{
GET_ENV_PTR;
GET_ENV_PTR_NO_MAP_LOCK;
ObjectRef *ref = checkObject<ObjectRef>(L, 1);
ServerActiveObject *sao = getobject(ref);
if (sao == nullptr)