diff --git a/crates/gpui/src/platform/mac/window.rs b/crates/gpui/src/platform/mac/window.rs index ca6a3f8d62f799c8dfd1eb791e73a179e48e3397..946e608a7a686d2680b98b1388c652e2cedcf3f5 100644 --- a/crates/gpui/src/platform/mac/window.rs +++ b/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()); } } } diff --git a/crates/gpui/src/window.rs b/crates/gpui/src/window.rs index b050ad76c2d8d55182ddaafb8eda92827d7815f0..aeccdb1f90100d3d3258230262322434826b4827 100644 --- a/crates/gpui/src/window.rs +++ b/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({