summaryrefslogtreecommitdiff
path: root/source/3rd-party/Luax/luax_ref.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/3rd-party/Luax/luax_ref.cpp')
-rw-r--r--source/3rd-party/Luax/luax_ref.cpp17
1 files changed, 9 insertions, 8 deletions
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);
}
}