Skip to content

Commit 320329a

Browse files
authored
fix(core): insert to webview_id_map on tao window creation, closes #3883 (#3932)
1 parent 7864d41 commit 320329a

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

.changes/fix-create-tao-window.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"tauri": patch
3+
"tauri-runtime-wry": patch
4+
---
5+
6+
Fixes a panic when using the `create_tao_window` API.

core/tauri-runtime-wry/src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ fn send_user_message<T: UserEvent>(context: &Context<T>, message: Message<T>) ->
154154
&context.main_thread.window_target,
155155
message,
156156
UserMessageContext {
157+
webview_id_map: context.webview_id_map.clone(),
157158
window_event_listeners: &context.window_event_listeners,
158159
global_shortcut_manager: context.main_thread.global_shortcut_manager.clone(),
159160
clipboard_manager: context.main_thread.clipboard_manager.clone(),
@@ -2105,6 +2106,7 @@ pub struct EventLoopIterationContext<'a, T: UserEvent> {
21052106
}
21062107

21072108
struct UserMessageContext<'a> {
2109+
webview_id_map: WebviewIdStore,
21082110
window_event_listeners: &'a WindowEventListeners,
21092111
global_shortcut_manager: Arc<Mutex<WryShortcutManager>>,
21102112
clipboard_manager: Arc<Mutex<Clipboard>>,
@@ -2121,6 +2123,7 @@ fn handle_user_message<T: UserEvent>(
21212123
web_context: &WebContextStore,
21222124
) -> RunIteration {
21232125
let UserMessageContext {
2126+
webview_id_map,
21242127
window_event_listeners,
21252128
menu_event_listeners,
21262129
global_shortcut_manager,
@@ -2368,6 +2371,8 @@ fn handle_user_message<T: UserEvent>(
23682371
.unwrap()
23692372
.insert(window_id, WindowMenuEventListeners::default());
23702373

2374+
webview_id_map.insert(window.id(), window_id);
2375+
23712376
let w = Arc::new(window);
23722377

23732378
windows.lock().expect("poisoned webview collection").insert(
@@ -2698,6 +2703,7 @@ fn handle_event_loop<T: UserEvent>(
26982703
event_loop,
26992704
message,
27002705
UserMessageContext {
2706+
webview_id_map,
27012707
window_event_listeners,
27022708
global_shortcut_manager,
27032709
clipboard_manager,

0 commit comments

Comments
 (0)