diff --git a/crates/fj-viewer/src/viewer.rs b/crates/fj-viewer/src/viewer.rs index cd7a1af8b..3e237251b 100644 --- a/crates/fj-viewer/src/viewer.rs +++ b/crates/fj-viewer/src/viewer.rs @@ -84,7 +84,10 @@ impl Viewer { /// Handle the screen being resized pub fn on_screen_resize(&mut self, new_size: ScreenSize) { self.current_screen_size = new_size; - self.renderer.handle_resize(new_size); + if new_size.is_valid() { + // We should only supply valid screen sizes to the renderer. + self.renderer.handle_resize(new_size); + } } /// Compute and store a focus point, unless one is already stored diff --git a/crates/fj-window/src/display.rs b/crates/fj-window/src/display.rs index a97a181ac..4b6fa78e6 100644 --- a/crates/fj-window/src/display.rs +++ b/crates/fj-window/src/display.rs @@ -147,9 +147,7 @@ impl ApplicationHandler for DisplayState { // Only do a screen resize once per frame. This protects against // spurious resize events that cause issues with the renderer. if let Some(size) = self.new_size.take() { - if !self.stop_drawing { - viewer.on_screen_resize(size); - } + viewer.on_screen_resize(size); } viewer.draw();