From 3c25c29decde28f7207dd1dcf4151e4b52c8c24e Mon Sep 17 00:00:00 2001 From: Anna Antonenko Date: Fri, 11 Apr 2025 03:21:53 +0400 Subject: [PATCH 1/2] loader: move BeforeLoad event even earlier --- applications/services/loader/loader.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/applications/services/loader/loader.c b/applications/services/loader/loader.c index d3cd0022e..737d03dd7 100644 --- a/applications/services/loader/loader.c +++ b/applications/services/loader/loader.c @@ -418,9 +418,6 @@ static void loader_start_internal_app( const FlipperInternalApplication* app, const char* args) { FURI_LOG_I(TAG, "Starting %s", app->name); - LoaderEvent event; - event.type = LoaderEventTypeApplicationBeforeLoad; - furi_pubsub_publish(loader->pubsub, &event); // store args furi_assert(loader->app.args == NULL); @@ -508,9 +505,6 @@ static LoaderMessageLoaderStatusResult loader_start_external_app( result.value = loader_make_success_status(error_message); result.error = LoaderStatusErrorUnknown; - LoaderEvent event; - event.type = LoaderEventTypeApplicationBeforeLoad; - furi_pubsub_publish(loader->pubsub, &event); do { loader->app.fap = flipper_application_alloc(storage, firmware_api_interface); @@ -566,6 +560,7 @@ static LoaderMessageLoaderStatusResult loader_start_external_app( if(result.value != LoaderStatusOk) { flipper_application_free(loader->app.fap); loader->app.fap = NULL; + LoaderEvent event; event.type = LoaderEventTypeApplicationLoadFailed; furi_pubsub_publish(loader->pubsub, &event); } @@ -615,6 +610,10 @@ static LoaderMessageLoaderStatusResult loader_do_start_by_name( status.value = loader_make_success_status(error_message); status.error = LoaderStatusErrorUnknown; + LoaderEvent event; + event.type = LoaderEventTypeApplicationBeforeLoad; + furi_pubsub_publish(loader->pubsub, &event); + do { // check lock if(loader_do_is_locked(loader)) { From 1b5a2496f58459d2c93b369fa324b2b26f2ae73d Mon Sep 17 00:00:00 2001 From: Anna Antonenko Date: Fri, 11 Apr 2025 03:23:38 +0400 Subject: [PATCH 2/2] fix formatting --- applications/services/loader/loader.c | 1 - 1 file changed, 1 deletion(-) diff --git a/applications/services/loader/loader.c b/applications/services/loader/loader.c index 737d03dd7..136b3c20b 100644 --- a/applications/services/loader/loader.c +++ b/applications/services/loader/loader.c @@ -505,7 +505,6 @@ static LoaderMessageLoaderStatusResult loader_start_external_app( result.value = loader_make_success_status(error_message); result.error = LoaderStatusErrorUnknown; - do { loader->app.fap = flipper_application_alloc(storage, firmware_api_interface); size_t start = furi_get_tick();