From fddcb5cfdce9f70f9afbf57365c13e30b1ecd1be Mon Sep 17 00:00:00 2001
From: Lactozilla <jp6781615@gmail.com>
Date: Tue, 21 Nov 2023 21:15:09 -0300
Subject: [PATCH] Fix P_GetSectorColormapAt

---
 src/lua_baselib.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lua_baselib.c b/src/lua_baselib.c
index 97bc9319c..3074187a3 100644
--- a/src/lua_baselib.c
+++ b/src/lua_baselib.c
@@ -2025,14 +2025,18 @@ static int lib_pCeilingzAtPos(lua_State *L)
 
 static int lib_pGetSectorColormapAt(lua_State *L)
 {
+	boolean has_sector = false;
 	sector_t *sector = NULL;
-	if (!lua_isnone(L, 1) && lua_isuserdata(L, 1))
+	if (!lua_isnoneornil(L, 1))
+	{
+		has_sector = true;
 		sector = *((sector_t **)luaL_checkudata(L, 1, META_SECTOR));
+	}
 	fixed_t x = luaL_checkfixed(L, 2);
 	fixed_t y = luaL_checkfixed(L, 3);
 	fixed_t z = luaL_checkfixed(L, 4);
 	INLEVEL
-	if (!sector)
+	if (has_sector && !sector)
 		return LUA_ErrInvalid(L, "sector_t");
 	extracolormap_t *exc;
 	if (sector)
-- 
GitLab