Update send test and errors that broke some examples/APIs

This commit is contained in:
Osspial
2018-09-09 00:19:53 -04:00
parent bf7bfa82eb
commit 8ed575ff4a
3 changed files with 6 additions and 5 deletions

View File

@@ -17,6 +17,7 @@ fn main() {
event_loop.run(move |event, _, control_flow| {
use winit::event::ElementState::Released;
use winit::event::VirtualKeyCode::{N, Y};
*control_flow = ControlFlow::Wait;
match event {
Event::WindowEvent { event, .. } => match event {
@@ -71,7 +72,5 @@ fn main() {
},
_ => (),
}
*control_flow = ControlFlow::Wait;
});
}

View File

@@ -448,6 +448,7 @@ impl Window {
let window_state_lock = self.window_state.lock();
// We don't want to increment/decrement the display count more than once!
if hide == window_state_lock.cursor_hidden { return; }
drop(window_state_lock);
let (tx, rx) = channel();
let window_state = Arc::clone(&self.window_state);
self.thread_executor.execute_in_thread(move || {
@@ -455,7 +456,6 @@ impl Window {
window_state.lock().cursor_hidden = hide;
let _ = tx.send(());
});
drop(window_state_lock);
rx.recv().unwrap()
}

View File

@@ -4,8 +4,10 @@ fn needs_send<T:Send>() {}
#[test]
fn event_loop_proxy_send() {
// ensures that `winit::EventLoopProxy` implements `Send`
needs_send::<winit::event_loop::EventLoopProxy<()>>();
fn is_send<T: Send>() {
// ensures that `winit::EventLoopProxy` implements `Send`
needs_send::<winit::event_loop::EventLoopProxy<T>>();
}
}
#[test]