diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/application.rs | 19 | 
1 files changed, 17 insertions, 2 deletions
| diff --git a/src/application.rs b/src/application.rs index 3d89c758..87c2607a 100644 --- a/src/application.rs +++ b/src/application.rs @@ -205,11 +205,26 @@ pub trait Application: Sized {              ..crate::renderer::Settings::default()          }; -        Ok(crate::shell::application::run::< +        let run = crate::shell::application::run::<              Instance<Self>,              Self::Executor,              crate::renderer::Compositor, -        >(settings.into(), renderer_settings)?) +        >(settings.into(), renderer_settings); + +        #[cfg(target_arch = "wasm32")] +        { +            use crate::futures::FutureExt; +            use iced_futures::backend::wasm::wasm_bindgen::Executor; + +            Executor::new() +                .expect("Create Wasm executor") +                .spawn(run.map(|_| ())); + +            Ok(()) +        } + +        #[cfg(not(target_arch = "wasm32"))] +        Ok(crate::futures::executor::block_on(run)?)      }  } | 
