Potential fix for #2422

This commit is contained in:
Conrad Irwin 2024-01-22 11:10:15 -07:00
parent 9bcf27b05b
commit 41a99c686b

View file

@ -1003,9 +1003,21 @@ impl PlatformWindow for MacWindow {
}
fn get_scale_factor(native_window: id) -> f32 {
unsafe {
let factor = unsafe {
let screen: id = msg_send![native_window, screen];
NSScreen::backingScaleFactor(screen) as f32
};
// We are not certain what triggers this, but it seems that sometimes
// this method would return 0 (https://github.com/zed-industries/community/issues/2422)
// It seems most likely that this would happen if the window has no screen
// (if it is off-screen), though we'd expect to see viewDidChangeBackingProperties before
// it was rendered for real.
// Regardless, attempt to avoid the issue here.
if factor == 0.0 {
2.
} else {
factor
}
}