summaryrefslogtreecommitdiff
path: root/src/helpers/Monitor.cpp
diff options
context:
space:
mode:
authorAlessio Molinari <alessio.molinari@strg.at>2023-11-12 14:14:05 +0100
committerGitHub <noreply@github.com>2023-11-12 13:14:05 +0000
commit1bfd4a2bff5f67872b868d519fbb45b32aa72b1f (patch)
tree300257e5a9eb63b5b0c9b4c3d8c775c1b1a24f44 /src/helpers/Monitor.cpp
parent91cbe93cf875c064847c76c6501d2a22c3f0abec (diff)
output-layout: fix wlroots display handling (#3718)
Diffstat (limited to 'src/helpers/Monitor.cpp')
-rw-r--r--src/helpers/Monitor.cpp8
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
+}