diff --git a/doc/en/scripting/builtins/libgui.md b/doc/en/scripting/builtins/libgui.md index 53d6e4ad2..a7ddbeaec 100644 --- a/doc/en/scripting/builtins/libgui.md +++ b/doc/en/scripting/builtins/libgui.md @@ -139,7 +139,7 @@ gui.confirm( ## Documents and templates ```lua --- Loads a UI document with its script, returns the name of the document if successfully loaded. +-- Loads a UI document with its script. Returns document environment table gui.load_document( -- Path to the xml file of the page. Example: `core:layouts/pages/main.xml` path: str, @@ -147,7 +147,7 @@ gui.load_document( name: str -- Table of parameters passed to the on_open event args: table -) -> str +) -> table -- Loads and processes layout template from file gui.template( diff --git a/doc/ru/scripting/builtins/libgui.md b/doc/ru/scripting/builtins/libgui.md index 9c2eb7418..ea1221415 100644 --- a/doc/ru/scripting/builtins/libgui.md +++ b/doc/ru/scripting/builtins/libgui.md @@ -140,12 +140,12 @@ gui.confirm( ## Документы и шаблоны ```lua --- Загружает UI документ и его скрипт. Возвращает имя документа. +-- Загружает UI документ и его скрипт. Возвращает пространство имён документа gui.load_document( path: string, -- путь к xml файлу, например: core:layouts/pages/main.xml name: string, -- id документа, например: core:pages/main args: table -- параметры для события on_open -) -> string +) -> table -- Обрабатывает xml шаблон макета из файла gui.template( diff --git a/src/logic/scripting/lua/libs/libgui.cpp b/src/logic/scripting/lua/libs/libgui.cpp index 057dc205e..81e5fc4f7 100644 --- a/src/logic/scripting/lua/libs/libgui.cpp +++ b/src/logic/scripting/lua/libs/libgui.cpp @@ -1127,6 +1127,7 @@ static int l_gui_load_document(lua::State* L) { } auto env = scripting::create_doc_environment(parentEnv, alias); + auto envId = *env; // namespace extension if (lua::istable(L, 4)) { if (lua::get_from(L, "table", "extend")) { @@ -1148,7 +1149,7 @@ static int l_gui_load_document(lua::State* L) { engine->requireAssets().store(std::move(documentPtr), alias); scripting::on_ui_open(*document, {args}); - return 0; + return lua::pushenv(L, envId); } static int l_set_syntax_styles(lua::State* L) {