Fix window refreshing

Antonio Scandurra created

Change summary

crates/gpui/src/app.rs        | 3 +++
crates/gpui/src/app/window.rs | 3 +++
2 files changed, 6 insertions(+)

Detailed changes

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();

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();