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