From 1ac57f1a3600904f105c81cef4a66930f50b736d Mon Sep 17 00:00:00 2001 From: Rhaskia Date: Tue, 22 Apr 2025 19:32:45 +1200 Subject: [PATCH] fix: add lock to asset handler handle request on android (#4006) --- packages/desktop/src/assets.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/desktop/src/assets.rs b/packages/desktop/src/assets.rs index 508619232..8dfcb6537 100644 --- a/packages/desktop/src/assets.rs +++ b/packages/desktop/src/assets.rs @@ -33,6 +33,10 @@ impl AssetHandlerRegistry { responder: RequestAsyncResponder, ) { if let Some(handler) = self.handlers.borrow().get(name) { + // Avoid handler being already borrowed on android + #[cfg(target_os = "android")] + let _lock = crate::android_sync_lock::android_runtime_lock(); + // And run the handler in the scope of the component that created it handler.f.call((request, responder)); }