diff options
| author | Alessio Molinari <alessio.molinari@strg.at> | 2023-11-12 14:14:05 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-12 13:14:05 +0000 |
| commit | 1bfd4a2bff5f67872b868d519fbb45b32aa72b1f (patch) | |
| tree | 300257e5a9eb63b5b0c9b4c3d8c775c1b1a24f44 /src/helpers/Monitor.cpp | |
| parent | 91cbe93cf875c064847c76c6501d2a22c3f0abec (diff) | |
output-layout: fix wlroots display handling (#3718)
Diffstat (limited to 'src/helpers/Monitor.cpp')
| -rw-r--r-- | src/helpers/Monitor.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index 9dbd2a3e..743c938e 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -188,7 +188,7 @@ void CMonitor::onConnect(bool noRule) { g_pCompositor->scheduleFrameForMonitor(this); } -void CMonitor::onDisconnect() { +void CMonitor::onDisconnect(bool destroy) { if (renderTimer) { wl_event_source_remove(renderTimer); @@ -276,7 +276,8 @@ void CMonitor::onDisconnect() { activeWorkspace = -1; - wlr_output_layout_remove(g_pCompositor->m_sWLROutputLayout, output); + if (!destroy) + wlr_output_layout_remove(g_pCompositor->m_sWLROutputLayout, output); wlr_output_enable(output, false); @@ -298,7 +299,6 @@ void CMonitor::onDisconnect() { g_pHyprRenderer->m_pMostHzMonitor = pMonitorMostHz; } - std::erase_if(g_pCompositor->m_vMonitors, [&](std::shared_ptr<CMonitor>& el) { return el.get() == this; }); } @@ -642,4 +642,4 @@ void CMonitor::moveTo(const Vector2D& pos) { Vector2D CMonitor::middle() { return vecPosition + vecSize / 2.f; -}
\ No newline at end of file +} |
