diff --git a/src/api/l_filesystem.c b/src/api/l_filesystem.c index 2d8a0212..9be4c39a 100644 --- a/src/api/l_filesystem.c +++ b/src/api/l_filesystem.c @@ -129,9 +129,15 @@ static int l_lovrFilesystemGetDirectoryItems(lua_State* L) { } lua_getglobal(L, "table"); - lua_getfield(L, -1, "sort"); - lua_pushvalue(L, 2); - lua_call(L, 1, 0); + if (lua_type(L, -1) == LUA_TTABLE) { + lua_getfield(L, -1, "sort"); + if (lua_type(L, -1) == LUA_TFUNCTION) { + lua_pushvalue(L, 2); + lua_call(L, 1, 0); + } else { + lua_pop(L, 1); + } + } lua_pop(L, 1); return 1; }