diff --git a/sky/shell/ui/engine.cc b/sky/shell/ui/engine.cc index a8d3579f6db1e16e7345ba52d993789199caeb13..f61d3261b948ce42c8369bcf40661142e96de81a 100644 --- a/sky/shell/ui/engine.cc +++ b/sky/shell/ui/engine.cc @@ -335,14 +335,16 @@ void Engine::ScheduleFrame() { void Engine::Render(std::unique_ptr layer_tree) { if (!layer_tree) return; - if (viewport_metrics_) { - layer_tree->set_scene_version(viewport_metrics_->scene_version); - layer_tree->set_frame_size(SkISize::Make( - viewport_metrics_->physical_width, viewport_metrics_->physical_height)); - } else { - layer_tree->set_scene_version(0); - layer_tree->set_frame_size(SkISize::Make(0, 0)); - } + if (!viewport_metrics_) + return; + + SkISize frame_size = SkISize::Make( + viewport_metrics_->physical_width, viewport_metrics_->physical_height); + if (frame_size.isEmpty()) + return; + + layer_tree->set_scene_version(viewport_metrics_->scene_version); + layer_tree->set_frame_size(frame_size); animator_->Render(std::move(layer_tree)); }