Skip to content

Commit 138cb8d

Browse files
authored
fix(tauri-runtime-wry): tray event listener not registered (#6270)
1 parent 852e11e commit 138cb8d

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

.changes/fix-tray-events.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"tauri-runtime-wry": patch
3+
"tauri": patch
4+
---
5+
6+
Fixes tray events not being delivered.

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2583,14 +2583,18 @@ fn handle_user_message<T: UserEvent>(
25832583
Message::Tray(tray_id, tray_message) => {
25842584
let mut trays = system_tray_manager.trays.lock().unwrap();
25852585

2586-
if let TrayMessage::Create(tray, tx) = tray_message {
2586+
if let TrayMessage::Create(mut tray, tx) = tray_message {
2587+
let mut listeners = Vec::new();
2588+
if let Some(l) = tray.on_event.take() {
2589+
listeners.push(Arc::new(l));
2590+
}
25872591
match create_tray(WryTrayId(tray_id), tray, event_loop) {
25882592
Ok((tray, items)) => {
25892593
trays.insert(
25902594
tray_id,
25912595
TrayContext {
25922596
tray: Arc::new(Mutex::new(Some(tray))),
2593-
listeners: Default::default(),
2597+
listeners: Arc::new(Mutex::new(listeners)),
25942598
items: Arc::new(Mutex::new(items)),
25952599
},
25962600
);

examples/api/src-tauri/Cargo.lock

Lines changed: 7 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)