kms: Fix potential panic when enumerating connectors
This commit is contained in:
parent
3214ef0250
commit
64e03d11d7
1 changed files with 5 additions and 2 deletions
|
|
@ -616,12 +616,15 @@ fn populate_modes(
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let conn_info = drm.get_connector(conn, false)?;
|
let conn_info = drm.get_connector(conn, false)?;
|
||||||
let max_bpc = drm_helpers::get_max_bpc(drm, conn)?.map(|(_val, range)| range.end.min(16));
|
let max_bpc = drm_helpers::get_max_bpc(drm, conn)?.map(|(_val, range)| range.end.min(16));
|
||||||
let mode = conn_info
|
let Some(mode) = conn_info
|
||||||
.modes()
|
.modes()
|
||||||
.iter()
|
.iter()
|
||||||
.find(|mode| mode.mode_type().contains(ModeTypeFlags::PREFERRED))
|
.find(|mode| mode.mode_type().contains(ModeTypeFlags::PREFERRED))
|
||||||
.copied()
|
.copied()
|
||||||
.unwrap_or(conn_info.modes()[0]);
|
.or(conn_info.modes().get(0))
|
||||||
|
else {
|
||||||
|
bail!("No mode found");
|
||||||
|
};
|
||||||
let refresh_rate = drm_helpers::calculate_refresh_rate(mode);
|
let refresh_rate = drm_helpers::calculate_refresh_rate(mode);
|
||||||
let output_mode = OutputMode {
|
let output_mode = OutputMode {
|
||||||
size: (mode.size().0 as i32, mode.size().1 as i32).into(),
|
size: (mode.size().0 as i32, mode.size().1 as i32).into(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue