From 5a34e8d522000682b4e9f1635298c9b81c7a7c30 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 6 Jan 2025 00:41:57 +0300 Subject: [PATCH] update gui.confirm --- src/logic/scripting/lua/libs/libgui.cpp | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/logic/scripting/lua/libs/libgui.cpp b/src/logic/scripting/lua/libs/libgui.cpp index f52110dc..bed74cf0 100644 --- a/src/logic/scripting/lua/libs/libgui.cpp +++ b/src/logic/scripting/lua/libs/libgui.cpp @@ -754,29 +754,25 @@ static int l_gui_escape_markup(lua::State* L) { static int l_gui_confirm(lua::State* L) { auto question = lua::require_wstring(L, 1); - lua::pushvalue(L, 2); - auto onconfirm = lua::create_runnable(L); + runnable onconfirm = nullptr; + if (lua::gettop(L) >= 2) { + lua::pushvalue(L, 2); + onconfirm = lua::create_runnable(L); + } runnable ondeny = nullptr; - if (lua::gettop(L) > 2) { + if (lua::gettop(L) >= 3) { lua::pushvalue(L, 3); ondeny = lua::create_runnable(L); } std::wstring yestext = L""; - if (lua::gettop(L) > 3) { + if (lua::gettop(L) >= 4) { yestext = lua::require_wstring(L, 4); } std::wstring notext = L""; - if (lua::gettop(L) > 4) { + if (lua::gettop(L) >= 5) { notext = lua::require_wstring(L, 5); } - guiutil::confirm( - *engine, - question, - onconfirm, - ondeny, - yestext, - notext - ); + guiutil::confirm(*engine, question, onconfirm, ondeny, yestext, notext); return 0; }