loop until we exhausted all the servo events

This commit is contained in:
Paul Rouget 2018-03-21 08:01:19 +01:00
parent abea15d419
commit 18a02f8def

View file

@ -187,7 +187,6 @@ fn main() {
window.run(|| { window.run(|| {
let win_events = window.get_events(); let win_events = window.get_events();
let servo_events = servo.get_events();
// FIXME: this could be handled by Servo. We don't need // FIXME: this could be handled by Servo. We don't need
// a repaint_synchronously function exposed. // a repaint_synchronously function exposed.
@ -196,14 +195,21 @@ fn main() {
_ => false, _ => false,
}); });
browser.handle_servo_events(servo_events);
browser.handle_window_events(win_events); browser.handle_window_events(win_events);
if browser.shutdown_requested() { let mut servo_events = servo.get_events();
return true; loop {
browser.handle_servo_events(servo_events);
servo.handle_events(browser.get_events());
if browser.shutdown_requested() {
return true;
}
servo_events = servo.get_events();
if servo_events.is_empty() {
break;
}
} }
servo.handle_events(browser.get_events());
if need_resize { if need_resize {
servo.repaint_synchronously(); servo.repaint_synchronously();
} }