Fix eval provider

This commit is contained in:
Jonathan Kelley committed 2024-01-06 11:34:26 -08:00
1 parent 9d4a8e1622
commit 729bfa3be1
1 file changed
+6 -2
+6 -2
View File
@@ -9,6 +9,7 @@ use crate::{
Config, DesktopContext, DesktopService,
};
use dioxus_core::VirtualDom;
use dioxus_html::prelude::EvalProvider;
use futures_util::{pin_mut, FutureExt};
use std::{rc::Rc, task::Waker};
use wry::{RequestAsyncResponder, WebContext, WebViewBuilder};
@@ -151,8 +152,11 @@ impl WebviewInstance {
dom.base_scope().provide_context(desktop_context.clone());
// Also set up its eval provider
dom.base_scope()
.provide_context(Rc::new(DesktopEvalProvider::new(desktop_context.clone())));
// It's important that we provide as dyn EvalProvider - using the concrete type has
// a different TypeId.
let provider: Rc<dyn EvalProvider> =
Rc::new(DesktopEvalProvider::new(desktop_context.clone()));
dom.base_scope().provide_context(provider);
WebviewInstance {
waker: tao_waker(shared.proxy.clone(), desktop_context.window.id()),