diff options
| author | EvilLary <EvilLary@proton.me> | 2026-02-03 23:44:18 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-03 20:44:18 +0000 |
| commit | e123fd3e667177fa67624b9f5960653410c7bebb (patch) | |
| tree | 303fbcd12e03c014159bf5f998e3adc7bd38f78e /src/helpers/Monitor.cpp | |
| parent | 30756d871845a6058a840642ab1a4c3979f6d782 (diff) | |
monitor: revert "remove disconnected monitor before unsafe state #12544" (#13154)
Diffstat (limited to 'src/helpers/Monitor.cpp')
| -rw-r--r-- | src/helpers/Monitor.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index ac828e56..ab581394 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -411,7 +411,6 @@ void CMonitor::onDisconnect(bool destroy) { 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); if (!BACKUPMON) { @@ -463,7 +462,7 @@ void CMonitor::onDisconnect(bool destroy) { PHLMONITOR pMonitorMostHz = nullptr; for (auto const& m : g_pCompositor->m_monitors) { - if (m->m_refreshRate > mostHz) { + if (m->m_refreshRate > mostHz && m != m_self) { pMonitorMostHz = m; mostHz = m->m_refreshRate; } @@ -471,6 +470,8 @@ 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) { |
