From d48f9c086ff8fd3441edebaa53bdf3268901f7cb Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sun, 3 Mar 2024 14:44:01 +0300 Subject: [PATCH] Make app::scene_application call scene->on_exit when stopped --- libs/app/include/psemek/app/scene_application.hpp | 2 ++ libs/app/source/scene_application.cpp | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/libs/app/include/psemek/app/scene_application.hpp b/libs/app/include/psemek/app/scene_application.hpp index 992da93a..9dfa78cf 100644 --- a/libs/app/include/psemek/app/scene_application.hpp +++ b/libs/app/include/psemek/app/scene_application.hpp @@ -17,6 +17,8 @@ namespace psemek::app void on_event(touch_event const &) override; void on_event(key_event const &) override; + void stop() override; + void update() override; void present() override; diff --git a/libs/app/source/scene_application.cpp b/libs/app/source/scene_application.cpp index a6024df8..68414ad6 100644 --- a/libs/app/source/scene_application.cpp +++ b/libs/app/source/scene_application.cpp @@ -38,6 +38,13 @@ namespace psemek::app on_event_impl(event); } + void scene_application::stop() + { + if (auto scene = current_scene()) + scene->on_exit(); + application_base::stop(); + } + void scene_application::update() { if (auto scene = current_scene())