diff options
author | sfan5 <sfan5@live.de> | 2021-08-28 12:15:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-28 12:15:12 +0200 |
commit | 6a1424f2b18520f40ba8cfd12f7988f6b33db9a6 (patch) | |
tree | 081e49b5f47693cddae8ba6c921cb6c3041b7731 /src/script/lua_api/l_mainmenu.cpp | |
parent | 0f8a6d78a72731833664b09695bd44471bc014ac (diff) | |
download | minetest-6a1424f2b18520f40ba8cfd12f7988f6b33db9a6.tar.gz minetest-6a1424f2b18520f40ba8cfd12f7988f6b33db9a6.tar.bz2 minetest-6a1424f2b18520f40ba8cfd12f7988f6b33db9a6.zip |
Async-related script cleanups
Diffstat (limited to 'src/script/lua_api/l_mainmenu.cpp')
-rw-r--r-- | src/script/lua_api/l_mainmenu.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp index ad00de1c4..6e9a5c34f 100644 --- a/src/script/lua_api/l_mainmenu.cpp +++ b/src/script/lua_api/l_mainmenu.cpp @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "lua_api/l_internal.h" #include "common/c_content.h" #include "cpp_api/s_async.h" +#include "scripting_mainmenu.h" #include "gui/guiEngine.h" #include "gui/guiMainMenu.h" #include "gui/guiKeyChangeMenu.h" @@ -816,20 +817,20 @@ int ModApiMainMenu::l_open_dir(lua_State *L) /******************************************************************************/ int ModApiMainMenu::l_do_async_callback(lua_State *L) { - GUIEngine* engine = getGuiEngine(L); + MainMenuScripting *script = getScriptApi<MainMenuScripting>(L); size_t func_length, param_length; const char* serialized_func_raw = luaL_checklstring(L, 1, &func_length); - const char* serialized_param_raw = luaL_checklstring(L, 2, ¶m_length); sanity_check(serialized_func_raw != NULL); sanity_check(serialized_param_raw != NULL); - std::string serialized_func = std::string(serialized_func_raw, func_length); - std::string serialized_param = std::string(serialized_param_raw, param_length); + u32 jobId = script->queueAsync( + std::string(serialized_func_raw, func_length), + std::string(serialized_param_raw, param_length)); - lua_pushinteger(L, engine->queueAsync(serialized_func, serialized_param)); + lua_pushinteger(L, jobId); return 1; } |