Merge remote-tracking branch 'OFW/dev' into dev [ci skip]

This commit is contained in:
MX
2024-07-04 02:31:29 +03:00
38 changed files with 760 additions and 236 deletions

View File

@@ -2,15 +2,14 @@
#include <furi.h>
SceneManager* scene_manager_alloc(const SceneManagerHandlers* app_scene_handlers, void* context) {
furi_check(context);
furi_check(app_scene_handlers);
SceneManager* scene_manager = malloc(sizeof(SceneManager));
SceneManager* scene_manager =
malloc(sizeof(SceneManager) + (sizeof(AppScene) * app_scene_handlers->scene_num));
// Set SceneManager context and scene handlers
scene_manager->context = context;
scene_manager->scene_handlers = app_scene_handlers;
// Allocate all scenes
scene_manager->scene = malloc(sizeof(AppScene) * app_scene_handlers->scene_num);
// Initialize SceneManager array for navigation
// Initialize ScaneManager array for navigation
SceneManagerIdStack_init(scene_manager->scene_id_stack);
return scene_manager;
@@ -21,8 +20,6 @@ void scene_manager_free(SceneManager* scene_manager) {
// Clear SceneManager array
SceneManagerIdStack_clear(scene_manager->scene_id_stack);
// Clear allocated scenes
free(scene_manager->scene);
// Free SceneManager structure
free(scene_manager);
}