From 3b3d8a8bdee11a6d7e9e210ec4ff7e21a05d6091 Mon Sep 17 00:00:00 2001 From: jaro Date: Tue, 7 Oct 2025 11:44:35 +0000 Subject: [PATCH] drm: ensure disconnect called for removed connectors (#215) Originally disconnected monitors were not removed from hyprland correctly and duplications were created when an external monitor was reattached leading to invalid behavior when switching (empty desktop is visible). Now removed monitors are explicitly disconnected during connectors scanning. --- src/backend/drm/DRM.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/drm/DRM.cpp b/src/backend/drm/DRM.cpp index 3b8e93a..c99c94e 100644 --- a/src/backend/drm/DRM.cpp +++ b/src/backend/drm/DRM.cpp @@ -847,12 +847,12 @@ void Aquamarine::CDRMBackend::scanConnectors() { } // cleanup hot unplugged connectors - std::erase_if(connectors, [resources](const auto& conn) { + std::erase_if(connectors, [resources](auto& conn) { for (int i = 0; i < resources->count_connectors; ++i) { if (resources->connectors[i] == conn->id) return false; } - + conn->disconnect(); return true; });