From 5f8a206036a54335595df39125cab1a66d4877d9 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Fri, 15 Jul 2022 20:20:50 -0700 Subject: [PATCH 1/2] Remove entry from `device.surfaces` on disconnect --- src/backend/kms/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/kms/mod.rs b/src/backend/kms/mod.rs index 34e9a409..1f1ddad6 100644 --- a/src/backend/kms/mod.rs +++ b/src/backend/kms/mod.rs @@ -478,8 +478,8 @@ impl State { let changes = device.enumerate_surfaces()?; let mut w = self.common.shell.global_space().size.w; for crtc in changes.removed { - if let Some(surface) = device.surfaces.get_mut(&crtc) { - if let Some(token) = surface.render_timer_token.take() { + if let Some(surface) = device.surfaces.remove(&crtc) { + if let Some(token) = surface.render_timer_token { self.common.event_loop_handle.remove(token); } w -= surface.output.current_mode().map(|m| m.size.w).unwrap_or(0); From 4f9e1cf3944e760b32e80629ef48597f910d9c53 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Fri, 15 Jul 2022 20:21:56 -0700 Subject: [PATCH 2/2] Simplify redundant code --- src/backend/kms/drm_helpers.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/kms/drm_helpers.rs b/src/backend/kms/drm_helpers.rs index debec901..cfd9f849 100644 --- a/src/backend/kms/drm_helpers.rs +++ b/src/backend/kms/drm_helpers.rs @@ -26,7 +26,7 @@ pub fn display_configuration( .iter() .flat_map(|conn| device.get_connector(*conn).ok()) { - if let Some(enc) = device.get_connector(conn.handle())?.current_encoder() { + if let Some(enc) = conn.current_encoder() { if let Some(crtc) = device.get_encoder(enc)?.crtc() { // If is is connected we found a mapping if conn.state() == ConnectorState::Connected {