diff options
Diffstat (limited to 'src/config/ConfigManager.cpp')
| -rw-r--r-- | src/config/ConfigManager.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 215d71c0..26503f7e 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -1054,11 +1054,20 @@ void CConfigManager::dispatchExecOnce() { } void CConfigManager::performMonitorReload() { + + bool overAgain = false; + for (auto& m : g_pCompositor->m_vMonitors) { auto rule = getMonitorRuleFor(m->szName); - g_pHyprRenderer->applyMonitorRule(m.get(), &rule); + if (!g_pHyprRenderer->applyMonitorRule(m.get(), &rule)) { + overAgain = true; + break; + } } + if (overAgain) + performMonitorReload(); + m_bWantsMonitorReload = false; } |
