Potential fix for #2422
This commit is contained in:
parent
9bcf27b05b
commit
41a99c686b
1 changed files with 13 additions and 1 deletions
|
@ -1003,9 +1003,21 @@ impl PlatformWindow for MacWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_scale_factor(native_window: id) -> f32 {
|
fn get_scale_factor(native_window: id) -> f32 {
|
||||||
unsafe {
|
let factor = unsafe {
|
||||||
let screen: id = msg_send![native_window, screen];
|
let screen: id = msg_send![native_window, screen];
|
||||||
NSScreen::backingScaleFactor(screen) as f32
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue