From f81f4edad36f3af488df97b6320102a580906215 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Thu, 6 Jul 2023 17:42:18 +0300 Subject: [PATCH] Fix loader hangup on exit if api mismatch happened --- applications/services/loader/loader.c | 5 ++++- applications/services/loader/loader.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/applications/services/loader/loader.c b/applications/services/loader/loader.c index 833954bf7..94b699748 100644 --- a/applications/services/loader/loader.c +++ b/applications/services/loader/loader.c @@ -273,7 +273,7 @@ static LoaderStatus loader_start_external_app( DialogMessage* message = dialog_message_alloc(); dialog_message_set_header( message, "API Mismatch", 64, 0, AlignCenter, AlignTop); - dialog_message_set_buttons(message, "Cancel", NULL, "Continue"); + dialog_message_set_buttons(message, NULL, NULL, "Continue"); dialog_message_set_text( message, "This app might not\nwork correctly\nContinue anyways?", @@ -284,6 +284,9 @@ static LoaderStatus loader_start_external_app( if(dialog_message_show(dialogs, message) == DialogMessageButtonRight) { status = loader_make_status_error( LoaderStatusErrorApiMismatch, error_message, "API Mismatch"); + } else { + status = loader_make_status_error( + LoaderStatusErrorApiMismatchExit, error_message, "API Mismatch"); } dialog_message_free(message); furi_record_close(RECORD_DIALOGS); diff --git a/applications/services/loader/loader.h b/applications/services/loader/loader.h index 550d3d508..62c198b37 100644 --- a/applications/services/loader/loader.h +++ b/applications/services/loader/loader.h @@ -16,6 +16,7 @@ typedef enum { LoaderStatusErrorUnknownApp, LoaderStatusErrorInternal, LoaderStatusErrorApiMismatch, + LoaderStatusErrorApiMismatchExit, } LoaderStatus; typedef enum {