From b0969892fdae9e01688f51c9bc079971a7ba8e9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Mon, 12 Feb 2024 18:20:00 +0100 Subject: [PATCH] Workaround "clearpage all" crashing on PC build --- src/hasp/hasp_dispatch.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/hasp/hasp_dispatch.cpp b/src/hasp/hasp_dispatch.cpp index b5795d16..dbf42062 100644 --- a/src/hasp/hasp_dispatch.cpp +++ b/src/hasp/hasp_dispatch.cpp @@ -967,7 +967,14 @@ void dispatch_page(const char*, const char* payload, uint8_t source) void dispatch_clear_page(const char*, const char* page, uint8_t source) { if(!strcasecmp(page, "all")) { +#if !HASP_TARGET_PC hasp_init(); +#else + // workaround for "clearpage all" deadlocking or crashing on PC build (when called from non-LVGL thread) + for(uint8_t pageid = 0; pageid <= HASP_NUM_PAGES; pageid++) { + haspPages.clear(pageid); + } +#endif return; }