Skip to content

Commit 491bc89

Browse files
author
gzp
committedJul 28, 2017
test explicit drop
1 parent c57ec33 commit 491bc89

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed
 

‎examples/multiwindow.rs

+15-1
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,14 @@ fn main() {
66
let window1 = winit::Window::new(&events_loop).unwrap();
77
let window2 = winit::Window::new(&events_loop).unwrap();
88
let window3 = winit::Window::new(&events_loop).unwrap();
9+
let window4 = winit::Window::new(&events_loop).unwrap();
910

10-
let mut num_windows = 3;
11+
let window4_id = window4.id();
12+
let mut window4_opt = Some(window4);
13+
14+
let mut num_windows = 4;
15+
16+
println!("Press any key on any window to drop the 4th window explicitly. (Testing impl Drop for Window)");
1117

1218
if cfg!(target_os = "linux") {
1319
println!("Running this example under wayland may not display a window at all.\n\
@@ -24,6 +30,8 @@ fn main() {
2430
println!("Window 2 has been closed")
2531
} else if window_id == window3.id() {
2632
println!("Window 3 has been closed");
33+
} else if window_id == window4_id {
34+
println!("Window 4 has been closed");
2735
} else {
2836
unreachable!()
2937
}
@@ -33,6 +41,12 @@ fn main() {
3341
return winit::ControlFlow::Break;
3442
}
3543
},
44+
45+
winit::Event::WindowEvent { event: winit::WindowEvent::KeyboardInput{..}, .. } => {
46+
println!("Dropping window 4 explicitly");
47+
window4_opt = None;
48+
},
49+
3650
_ => (),
3751
}
3852
winit::ControlFlow::Continue

0 commit comments

Comments
 (0)