metal: don't treat disabled connectors as disconnected
This commit is contained in:
parent
7ab99bb840
commit
ef2b719e77
3 changed files with 12 additions and 10 deletions
|
|
@ -1013,7 +1013,6 @@ impl MetalDeviceTransactionWithChange {
|
|||
mem::swap(o, &mut plane.new);
|
||||
}
|
||||
for (_, connector) in &mut slf.connectors {
|
||||
let is_enabled;
|
||||
let is_connected;
|
||||
let is_non_desktop;
|
||||
{
|
||||
|
|
@ -1021,7 +1020,6 @@ impl MetalDeviceTransactionWithChange {
|
|||
mem::swap(&mut dd.drm_state, &mut connector.new);
|
||||
mem::swap(&mut *dd.persistent.state.borrow_mut(), &mut connector.state);
|
||||
dd.update_cached_fields(&slf.dev.dev);
|
||||
is_enabled = dd.persistent.state.borrow().enabled;
|
||||
is_non_desktop = dd.non_desktop_effective;
|
||||
is_connected = dd.connection == ConnectorStatus::Connected;
|
||||
}
|
||||
|
|
@ -1052,7 +1050,7 @@ impl MetalDeviceTransactionWithChange {
|
|||
connector.obj.send_connected();
|
||||
}
|
||||
}
|
||||
} else if is_enabled && is_connected && is_non_desktop {
|
||||
} else if is_connected && is_non_desktop {
|
||||
match connector.obj.frontend_state.get() {
|
||||
FrontState::Removed
|
||||
| FrontState::Unavailable
|
||||
|
|
|
|||
|
|
@ -388,7 +388,8 @@ impl ConnectorDisplayData {
|
|||
|
||||
fn update_non_desktop_effective(&mut self) {
|
||||
let state = &*self.persistent.state.borrow();
|
||||
self.non_desktop_effective = state.non_desktop_override.unwrap_or(self.non_desktop);
|
||||
self.non_desktop_effective =
|
||||
!state.enabled || state.non_desktop_override.unwrap_or(self.non_desktop);
|
||||
}
|
||||
|
||||
pub fn update_cached_fields(&mut self, dev: &MetalDrmDevice) {
|
||||
|
|
@ -668,8 +669,8 @@ impl MetalConnector {
|
|||
}
|
||||
|
||||
fn connected(&self) -> bool {
|
||||
let dd = self.display.borrow_mut();
|
||||
dd.persistent.state.borrow().enabled && dd.connection == ConnectorStatus::Connected
|
||||
let dd = self.display.borrow();
|
||||
dd.connection == ConnectorStatus::Connected
|
||||
}
|
||||
|
||||
pub fn update_drm_feedback(&self) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue