monitor: revert "remove disconnected monitor before unsafe state #12544" (#13154)

This commit is contained in:
EvilLary 2026-02-03 23:44:18 +03:00 committed by GitHub
parent 30756d8718
commit e123fd3e66
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -411,7 +411,6 @@ void CMonitor::onDisconnect(bool destroy) {
m_layerSurfaceLayers[i].clear(); m_layerSurfaceLayers[i].clear();
} }
std::erase_if(g_pCompositor->m_monitors, [&](PHLMONITOR& el) { return el.get() == this; });
Log::logger->log(Log::DEBUG, "Removed monitor {}!", m_name); Log::logger->log(Log::DEBUG, "Removed monitor {}!", m_name);
if (!BACKUPMON) { if (!BACKUPMON) {
@ -463,7 +462,7 @@ void CMonitor::onDisconnect(bool destroy) {
PHLMONITOR pMonitorMostHz = nullptr; PHLMONITOR pMonitorMostHz = nullptr;
for (auto const& m : g_pCompositor->m_monitors) { for (auto const& m : g_pCompositor->m_monitors) {
if (m->m_refreshRate > mostHz) { if (m->m_refreshRate > mostHz && m != m_self) {
pMonitorMostHz = m; pMonitorMostHz = m;
mostHz = m->m_refreshRate; mostHz = m->m_refreshRate;
} }
@ -471,6 +470,8 @@ void CMonitor::onDisconnect(bool destroy) {
g_pHyprRenderer->m_mostHzMonitor = pMonitorMostHz; 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) { void CMonitor::applyCMType(NCMType::eCMType cmType, int cmSdrEotf) {