Browse Source

Fix: __call metamethod

AnnulusGames 1 year ago
parent
commit
dc3d153f9a
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/Lua/Runtime/LuaVirtualMachine.cs

+ 4 - 1
src/Lua/Runtime/LuaVirtualMachine.cs

@@ -666,7 +666,10 @@ public static partial class LuaVirtualMachine
                         var va = stack.UnsafeGet(RA);
                         if (!va.TryRead<LuaFunction>(out var func))
                         {
-                            if (!va.TryGetMetamethod(Metamethods.Call, out var metamethod) && !metamethod.TryRead<LuaFunction>(out func))
+                            if (va.TryGetMetamethod(Metamethods.Call, out var metamethod) && metamethod.TryRead<LuaFunction>(out func))
+                            {   
+                            }
+                            else
                             {
                                 LuaRuntimeException.AttemptInvalidOperation(GetTracebacks(state, chunk, pc), "call", metamethod);
                             }