From 62085e1b49ce2d8a630373e410812d5c4a9eecc2 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 29 Mar 2019 08:56:55 +0800 Subject: *luax --- source/3rd-party/Luax/luax_ref.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'source/3rd-party/Luax/luax_ref.cpp') diff --git a/source/3rd-party/Luax/luax_ref.cpp b/source/3rd-party/Luax/luax_ref.cpp index 544861d..78596e3 100644 --- a/source/3rd-party/Luax/luax_ref.cpp +++ b/source/3rd-party/Luax/luax_ref.cpp @@ -1,4 +1,4 @@ -#include "luax_runtime.h" +#include "luax_vm.h" #include "luax_ref.h" namespace Luax @@ -23,16 +23,16 @@ namespace Luax { assert(mRefID != LUA_NOREF); - LuaxRuntime& runtime = LuaxRuntime::Get(); - + LuaxVM* vm = LuaxVM::TryGetVM(state); + if (!vm) return false; if (mMode == STRONG_REF) { - LuaxRefTable& table = runtime[state.GetHandle()].strongRefTable; + LuaxRefTable& table = vm->GetStrongRefTable(); table.PushRef(state, mRefID); } else if (mMode == WEAK_REF) { - LuaxRefTable& table = runtime[state.GetHandle()].weakRefTable; + LuaxRefTable& table = vm->GetWeakRefTable(); table.PushRef(state, mRefID); } else @@ -43,15 +43,16 @@ namespace Luax void LuaxRef::SetRef(LuaxState& state, int idx) { - LuaxRuntime& runtime = LuaxRuntime::Get(); + LuaxVM* vm = LuaxVM::TryGetVM(state); + if (!vm) return; if (mMode == STRONG_REF) { - LuaxRefTable& table = runtime[state.GetHandle()].strongRefTable; + LuaxRefTable& table = vm->GetStrongRefTable(); mRefID = table.Ref(state, idx); } else if (mMode == WEAK_REF) { - LuaxRefTable& table = runtime[state.GetHandle()].weakRefTable; + LuaxRefTable& table = vm->GetWeakRefTable(); mRefID = table.Ref(state, idx); } } -- cgit v1.1-26-g67d0