diff --git a/crates/tauri-runtime-cef/src/cef_impl.rs b/crates/tauri-runtime-cef/src/cef_impl.rs index 90ef71585..89f48df52 100644 --- a/crates/tauri-runtime-cef/src/cef_impl.rs +++ b/crates/tauri-runtime-cef/src/cef_impl.rs @@ -2933,7 +2933,12 @@ fn on_window_destroyed(window_id: WindowId, context: &Context) let event = WindowEvent::Destroyed; send_window_event(window_id, &context.windows, &context.callback, event); - let removed = context.windows.borrow_mut().remove(&window_id).is_some(); + let window = { + let mut guard = context.windows.borrow_mut(); + guard.remove(&window_id) + }; + let removed = window.is_some(); + drop(window); if !removed { return; }