aboutsummaryrefslogtreecommitdiff
path: root/builtin/fstk/ui.lua
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2021-02-10 19:50:36 +0100
committerElias Fleckenstein <eliasfleckenstein@web.de>2021-02-10 19:50:36 +0100
commit1fbbb768252f872dfa961d3a73460d996164d527 (patch)
treee9faf93dbd894b253ac3d1f0895b7468e8fee50d /builtin/fstk/ui.lua
parent74f5f033e04c0d8694815fedb795838d4926cbc9 (diff)
parent9736b9cea5f841bb0e9bb2c9c05c3b2560327064 (diff)
downloaddragonfireclient-1fbbb768252f872dfa961d3a73460d996164d527.tar.xz
Merge branch 'master' of https://github.com/minetest/minetest
Diffstat (limited to 'builtin/fstk/ui.lua')
-rw-r--r--builtin/fstk/ui.lua15
1 files changed, 15 insertions, 0 deletions
diff --git a/builtin/fstk/ui.lua b/builtin/fstk/ui.lua
index 7eeebdd47..976659ed3 100644
--- a/builtin/fstk/ui.lua
+++ b/builtin/fstk/ui.lua
@@ -18,6 +18,8 @@
ui = {}
ui.childlist = {}
ui.default = nil
+-- Whether fstk is currently showing its own formspec instead of active ui elements.
+ui.overridden = false
--------------------------------------------------------------------------------
function ui.add(child)
@@ -55,6 +57,7 @@ end
--------------------------------------------------------------------------------
function ui.update()
+ ui.overridden = false
local formspec = {}
-- handle errors
@@ -71,6 +74,7 @@ function ui.update()
"button[2,6.6;4,1;btn_reconnect_yes;" .. fgettext("Reconnect") .. "]",
"button[8,6.6;4,1;btn_reconnect_no;" .. fgettext("Main menu") .. "]"
}
+ ui.overridden = true
elseif gamedata ~= nil and gamedata.errormessage ~= nil then
local error_message = core.formspec_escape(gamedata.errormessage)
@@ -89,6 +93,7 @@ function ui.update()
error_title, error_message),
"button[5,6.6;4,1;btn_error_confirm;" .. fgettext("OK") .. "]"
}
+ ui.overridden = true
else
local active_toplevel_ui_elements = 0
for key,value in pairs(ui.childlist) do
@@ -185,6 +190,16 @@ end
--------------------------------------------------------------------------------
core.event_handler = function(event)
+ -- Handle error messages
+ if ui.overridden then
+ if event == "MenuQuit" then
+ gamedata.errormessage = nil
+ gamedata.reconnect_requested = false
+ ui.update()
+ end
+ return
+ end
+
if ui.handle_events(event) then
ui.update()
return