diff --git a/crates/gpui/src/app.rs b/crates/gpui/src/app.rs index b680024ab15977ac57d9db932c7948fc4030606b..c1fe8f841dfc659dcc6eb5017b3e5d73eeed57e7 100644 --- a/crates/gpui/src/app.rs +++ b/crates/gpui/src/app.rs @@ -1985,6 +1985,9 @@ impl AppContext { for window_id in window_ids { self.update_window(window_id, |cx| { let mut invalidation = cx.window.invalidation.take().unwrap_or_default(); + invalidation + .updated + .extend(cx.window.rendered_views.keys().copied()); cx.invalidate(&mut invalidation, cx.window.platform_window.appearance()); cx.refreshing = true; let scene = cx.build_scene(); diff --git a/crates/gpui/src/app/window.rs b/crates/gpui/src/app/window.rs index 4ae0e9326ac438ff4294faff5c59390d68055008..7ca1f32c10c80ae68847ff4bfe2a7f9ffa95a7b2 100644 --- a/crates/gpui/src/app/window.rs +++ b/crates/gpui/src/app/window.rs @@ -738,6 +738,9 @@ impl<'a: 'b, 'b> WindowContext<'a, 'b> { RectF::from_points(Vector2F::zero(), window_size), self, ); + self.window + .rendered_views + .insert(root_view_id, rendered_root); self.window.text_layout_cache.finish_frame(); let scene = scene_builder.build();