Skip to content

Commit 494a1a0

Browse files
committed
fix: Executing game function callbacks outside the game thread
1 parent 535dc87 commit 494a1a0

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

UE4SS/src/Mod/LuaMod.cpp

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2328,9 +2328,9 @@ No overload found for function 'RegisterCustomEvent'.
23282328
LuaMod::m_custom_event_callbacks.emplace_back(LuaMod::FunctionHookData{
23292329
{Unreal::FName(event_name, Unreal::FNAME_Add)},
23302330
LuaMod::LuaCallbackData{
2331-
.lua = &lua,
2331+
.lua = hook_lua,
23322332
.instance_of_class = nullptr,
2333-
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{&lua, {lua_callback_registry_index}}},
2333+
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{hook_lua, {lua_callback_registry_index}}},
23342334
}});
23352335
}
23362336

@@ -2375,9 +2375,9 @@ No overload found for function 'RegisterLoadMapPreHook'.
23752375
const int32_t lua_callback_registry_index = hook_lua->registry().make_ref();
23762376

23772377
LuaMod::m_load_map_pre_callbacks.emplace_back(LuaMod::LuaCallbackData{
2378-
.lua = &lua,
2378+
.lua = hook_lua,
23792379
.instance_of_class = nullptr,
2380-
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{&lua, lua_callback_registry_index}}});
2380+
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{hook_lua, lua_callback_registry_index}}});
23812381

23822382
return 0;
23832383
});
@@ -2402,9 +2402,9 @@ No overload found for function 'RegisterLoadMapPostHook'.
24022402
const int32_t lua_callback_registry_index = hook_lua->registry().make_ref();
24032403

24042404
LuaMod::m_load_map_post_callbacks.emplace_back(LuaMod::LuaCallbackData{
2405-
.lua = &lua,
2405+
.lua = hook_lua,
24062406
.instance_of_class = nullptr,
2407-
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{&lua, lua_callback_registry_index}}});
2407+
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{hook_lua, lua_callback_registry_index}}});
24082408

24092409
return 0;
24102410
});
@@ -2429,9 +2429,9 @@ No overload found for function 'RegisterInitGameStatePreHook'.
24292429
const int32_t lua_callback_registry_index = hook_lua->registry().make_ref();
24302430

24312431
LuaMod::m_init_game_state_pre_callbacks.emplace_back(LuaMod::LuaCallbackData{
2432-
.lua = &lua,
2432+
.lua = hook_lua,
24332433
.instance_of_class = nullptr,
2434-
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{&lua, lua_callback_registry_index}},
2434+
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{hook_lua, lua_callback_registry_index}},
24352435
});
24362436

24372437
return 0;
@@ -2457,9 +2457,9 @@ No overload found for function 'RegisterInitGameStatePostHook'.
24572457
const int32_t lua_callback_registry_index = hook_lua->registry().make_ref();
24582458

24592459
LuaMod::m_init_game_state_post_callbacks.emplace_back(LuaMod::LuaCallbackData{
2460-
.lua = &lua,
2460+
.lua = hook_lua,
24612461
.instance_of_class = nullptr,
2462-
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{&lua, lua_callback_registry_index}},
2462+
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{hook_lua, lua_callback_registry_index}},
24632463
});
24642464

24652465
return 0;
@@ -2485,9 +2485,9 @@ No overload found for function 'RegisterBeginPlayPreHook'.
24852485
const int32_t lua_callback_registry_index = hook_lua->registry().make_ref();
24862486

24872487
LuaMod::m_begin_play_pre_callbacks.emplace_back(LuaMod::LuaCallbackData{
2488-
.lua = &lua,
2488+
.lua = hook_lua,
24892489
.instance_of_class = nullptr,
2490-
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{&lua, lua_callback_registry_index}},
2490+
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{hook_lua, lua_callback_registry_index}},
24912491
});
24922492

24932493
return 0;
@@ -2513,9 +2513,9 @@ No overload found for function 'RegisterBeginPlayPostHook'.
25132513
const int32_t lua_callback_registry_index = hook_lua->registry().make_ref();
25142514

25152515
LuaMod::m_begin_play_post_callbacks.emplace_back(LuaMod::LuaCallbackData{
2516-
.lua = &lua,
2516+
.lua = hook_lua,
25172517
.instance_of_class = nullptr,
2518-
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{&lua, lua_callback_registry_index}},
2518+
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{hook_lua, lua_callback_registry_index}},
25192519
});
25202520

25212521
return 0;
@@ -2541,9 +2541,9 @@ No overload found for function 'RegisterEndPlayPreHook'.
25412541
const int32_t lua_callback_registry_index = hook_lua->registry().make_ref();
25422542

25432543
LuaMod::m_end_play_pre_callbacks.emplace_back(LuaMod::LuaCallbackData{
2544-
.lua = &lua,
2544+
.lua = hook_lua,
25452545
.instance_of_class = nullptr,
2546-
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{&lua, lua_callback_registry_index}},
2546+
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{hook_lua, lua_callback_registry_index}},
25472547
});
25482548

25492549
return 0;
@@ -2569,9 +2569,9 @@ No overload found for function 'RegisterEndPlayPostHook'.
25692569
const int32_t lua_callback_registry_index = hook_lua->registry().make_ref();
25702570

25712571
LuaMod::m_end_play_post_callbacks.emplace_back(LuaMod::LuaCallbackData{
2572-
.lua = &lua,
2572+
.lua = hook_lua,
25732573
.instance_of_class = nullptr,
2574-
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{&lua, lua_callback_registry_index}},
2574+
.registry_indexes = {std::pair<const LuaMadeSimple::Lua*, LuaMod::LuaCallbackData::RegistryIndex>{hook_lua, lua_callback_registry_index}},
25752575
});
25762576

25772577
return 0;

0 commit comments

Comments
 (0)