Merge branch 'virtio-sdl-fix' into 'main'

virtio-gpud: Don't crash on no edid descriptor

See merge request redox-os/base!118
This commit is contained in:
Jeremy Soller
2026-02-08 07:37:40 -07:00
+15 -10
View File
@@ -309,16 +309,21 @@ impl<'a> GraphicsAdapter for VirtGpuAdapter<'a> {
if self.has_edid {
let edid = edid::parse(&display.edid).unwrap().1;
let first_detailed_timing = edid
.descriptors
.iter()
.find_map(|descriptor| match descriptor {
edid::Descriptor::DetailedTiming(detailed_timing) => Some(detailed_timing),
_ => None,
})
.unwrap();
connector.mm_width = first_detailed_timing.horizontal_size.into();
connector.mm_height = first_detailed_timing.vertical_size.into();
if let Some(first_detailed_timing) =
edid.descriptors
.iter()
.find_map(|descriptor| match descriptor {
edid::Descriptor::DetailedTiming(detailed_timing) => {
Some(detailed_timing)
}
_ => None,
})
{
connector.mm_width = first_detailed_timing.horizontal_size.into();
connector.mm_height = first_detailed_timing.vertical_size.into();
} else {
log::error!("No edid timing descriptor detected");
}
connector.modes = edid
.descriptors