summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--futures/src/runtime.rs13
-rw-r--r--winit/src/application.rs5
2 files changed, 12 insertions, 6 deletions
diff --git a/futures/src/runtime.rs b/futures/src/runtime.rs
index ede529dc..d204670b 100644
--- a/futures/src/runtime.rs
+++ b/futures/src/runtime.rs
@@ -95,11 +95,18 @@ where
&mut self,
subscription: Subscription<Hasher, Event, Message>,
) {
- let futures =
- self.subscriptions.update(subscription, self.sender.clone());
+ let Runtime {
+ executor,
+ subscriptions,
+ sender,
+ ..
+ } = self;
+
+ let futures = executor
+ .enter(|| subscriptions.update(subscription, sender.clone()));
for future in futures {
- self.executor.spawn(future);
+ executor.spawn(future);
}
}
diff --git a/winit/src/application.rs b/winit/src/application.rs
index 326dca25..82478107 100644
--- a/winit/src/application.rs
+++ b/winit/src/application.rs
@@ -126,7 +126,7 @@ pub trait Application: Sized {
let (mut application, init_command) = runtime.enter(|| Self::new());
runtime.spawn(init_command);
- let subscription = runtime.enter(|| application.subscription());
+ let subscription = application.subscription();
runtime.track(subscription);
let mut title = application.title();
@@ -255,8 +255,7 @@ pub trait Application: Sized {
debug.update_finished();
}
- let subscription =
- runtime.enter(|| application.subscription());
+ let subscription = application.subscription();
runtime.track(subscription);
// Update window title