fix(tauri-runtime-wry): deadlock when window focus change, closes #4533 (#4539)

This commit is contained in:
Lucas Fernandes Nogueira
2022-06-30 10:39:10 -03:00
committed by GitHub
parent 8e808fece9
commit 185b0e314e
2 changed files with 9 additions and 3 deletions

View File

@@ -0,0 +1,5 @@
---
"tauri-runtime-wry": patch
---
Fixes a deadlock when the window focus change on Windows.

View File

@@ -2403,13 +2403,14 @@ fn handle_user_message<T: UserEvent>(
}
}
WebviewMessage::WebviewEvent(event) => {
if let Some(window) = windows
let window_event_listeners = windows
.lock()
.expect("poisoned webview collection")
.get(&id)
{
.map(|w| w.window_event_listeners.clone());
if let Some(window_event_listeners) = window_event_listeners {
if let Some(event) = WindowEventWrapper::from(&event).0 {
let listeners = window.window_event_listeners.lock().unwrap();
let listeners = window_event_listeners.lock().unwrap();
let handlers = listeners.values();
for handler in handlers {
handler(&event);