summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvilLary <EvilLary@proton.me>2026-02-03 23:44:18 +0300
committerGitHub <noreply@github.com>2026-02-03 20:44:18 +0000
commite123fd3e667177fa67624b9f5960653410c7bebb (patch)
tree303fbcd12e03c014159bf5f998e3adc7bd38f78e /src
parent30756d871845a6058a840642ab1a4c3979f6d782 (diff)
monitor: revert "remove disconnected monitor before unsafe state #12544" (#13154)
Diffstat (limited to 'src')
-rw-r--r--src/helpers/Monitor.cpp5
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) {