Mark the window as dirty when first opening it (#7384)

Antonio Scandurra and Nathan created

Otherwise we won't display anything if the window never notifies.

Release Notes:

- N/A

Co-authored-by: Nathan <nathan@zed.dev>

Change summary

crates/gpui/src/platform/mac/window.rs | 6 +++---
crates/gpui/src/window.rs              | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)

Detailed changes

crates/gpui/src/platform/mac/window.rs 🔗

@@ -1370,10 +1370,10 @@ extern "C" fn window_did_change_screen(this: &Object, _: Sel, _: id) {
     let mut lock = window_state.as_ref().lock();
     unsafe {
         let screen = lock.native_window.screen();
-        if screen != nil {
-            lock.display_link = start_display_link(screen, lock.native_view.as_ptr());
-        } else {
+        if screen == nil {
             lock.display_link = nil;
+        } else {
+            lock.display_link = start_display_link(screen, lock.native_view.as_ptr());
         }
     }
 }

crates/gpui/src/window.rs 🔗

@@ -336,7 +336,7 @@ impl Window {
         let scale_factor = platform_window.scale_factor();
         let bounds = platform_window.bounds();
         let text_system = Arc::new(WindowTextSystem::new(cx.text_system().clone()));
-        let dirty = Rc::new(Cell::new(false));
+        let dirty = Rc::new(Cell::new(true));
         let last_input_timestamp = Rc::new(Cell::new(Instant::now()));
 
         platform_window.on_request_frame(Box::new({