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