diff --git a/src/stremio_app/stremio_wevbiew/stremio_wevbiew.rs b/src/stremio_app/stremio_wevbiew/stremio_wevbiew.rs index 1fc30a1..ab30344 100644 --- a/src/stremio_app/stremio_wevbiew/stremio_wevbiew.rs +++ b/src/stremio_app/stremio_wevbiew/stremio_wevbiew.rs @@ -16,7 +16,7 @@ pub struct WebView { pub channel: RefCell, Arc>>)>>, notice: nwg::Notice, compute: RefCell>>, - message: Arc>>, + message: Arc>>, } impl WebView { @@ -112,7 +112,7 @@ impl PartialUi for WebView { *data.compute.borrow_mut() = Some(thread::spawn(move || loop { if let Ok(msg) = rx.try_recv() { let mut message = message.lock().unwrap(); - *message = Some(msg); + message.push(msg); sender.notice(); } })); @@ -138,14 +138,14 @@ impl PartialUi for WebView { } E::OnNotice => { let msg = self.message.clone(); - let mut msg = msg.lock().unwrap(); - if let Some(msg) = &*msg { - if let Some(controller) = self.controller.get() { - let webview = controller.get_webview().expect("Cannot get vebview"); + if let Some(controller) = self.controller.get() { + let webview = controller.get_webview().expect("Cannot get vebview"); + let mut msg = msg.lock().unwrap(); + for msg in msg.iter() { webview.post_web_message_as_string(msg).ok(); } + *msg = vec![]; } - *msg = None; } _ => {} }