macOS: Fix crash when reconnecting monitors (#4151)

CFArrayGetValueAtIndex does not return a retained value, so we must
retain ourselves.
This commit is contained in:
Mads Marquart
2025-02-28 17:32:24 +01:00
committed by GitHub
parent 46879429ed
commit 8c3e69c08b

View File

@@ -246,7 +246,7 @@ impl MonitorHandle {
let modes: Vec<_> = (0..array_count)
.map(move |i| {
let mode = CFArrayGetValueAtIndex(&array, i) as *mut CGDisplayMode;
CFRetained::from_raw(NonNull::new(mode).unwrap())
CFRetained::retain(NonNull::new(mode).unwrap())
})
.collect();
modes