From 9eb5ae6e946651bdbe532b66700bb1ed6944584f Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 22 Nov 2023 15:46:46 +1100 Subject: Use protected mode for lua callbacks wherever possible --- src/ui/include/ui_events.hpp | 4 ++++ src/ui/include/ui_fsm.hpp | 3 +++ 2 files changed, 7 insertions(+) (limited to 'src/ui/include') diff --git a/src/ui/include/ui_events.hpp b/src/ui/include/ui_events.hpp index b8dd459c..6a6be304 100644 --- a/src/ui/include/ui_events.hpp +++ b/src/ui/include/ui_events.hpp @@ -24,6 +24,10 @@ struct OnStorageChange : tinyfsm::Event { struct OnSystemError : tinyfsm::Event {}; + struct OnLuaError : tinyfsm::Event { + std::string message; + }; + namespace internal { struct RecordSelected : tinyfsm::Event { diff --git a/src/ui/include/ui_fsm.hpp b/src/ui/include/ui_fsm.hpp index d3ea7eac..9e81259a 100644 --- a/src/ui/include/ui_fsm.hpp +++ b/src/ui/include/ui_fsm.hpp @@ -64,6 +64,7 @@ class UiState : public tinyfsm::Fsm { void react(const audio::QueueUpdate&); virtual void react(const system_fsm::KeyLockChanged&); + virtual void react(const OnLuaError&) {} virtual void react(const internal::RecordSelected&) {} virtual void react(const internal::IndexSelected&) {} @@ -124,6 +125,8 @@ class Lua : public UiState { void entry() override; void exit() override; + void react(const OnLuaError&) override; + void react(const internal::IndexSelected&) override; void react(const internal::ShowNowPlaying&) override; void react(const internal::ShowSettingsPage&) override; -- cgit v1.2.3