diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index e80747be3..fa76a982d 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -411,6 +411,7 @@ void CMonitor::onDisconnect(bool destroy) { m_layerSurfaceLayers[i].clear(); } + std::erase_if(g_pCompositor->m_monitors, [&](PHLMONITOR& el) { return el.get() == this; }); Debug::log(LOG, "Removed monitor {}!", m_name); if (!BACKUPMON) { @@ -462,7 +463,7 @@ void CMonitor::onDisconnect(bool destroy) { PHLMONITOR pMonitorMostHz = nullptr; for (auto const& m : g_pCompositor->m_monitors) { - if (m->m_refreshRate > mostHz && m != m_self) { + if (m->m_refreshRate > mostHz) { pMonitorMostHz = m; mostHz = m->m_refreshRate; } @@ -470,7 +471,6 @@ void CMonitor::onDisconnect(bool destroy) { g_pHyprRenderer->m_mostHzMonitor = pMonitorMostHz; } - std::erase_if(g_pCompositor->m_monitors, [&](PHLMONITOR& el) { return el.get() == this; }); } void CMonitor::applyCMType(NCMType::eCMType cmType, int cmSdrEotf) {