From abe29647ae9cf2e6bd40784790b3d99fcc962613 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Mon, 28 Jul 2025 22:08:05 +0200 Subject: monitor: fix crash on mutating workspace vec fixes #11236 --- src/helpers/Monitor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/helpers/Monitor.cpp') diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index 63f1d147..87990009 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -216,12 +216,12 @@ void CMonitor::onConnect(bool noRule) { setupDefaultWS(monitorRule); - for (auto const& ws : g_pCompositor->getWorkspaces()) { - if (!valid(ws.lock())) + for (auto const& ws : g_pCompositor->getWorkspacesCopy()) { + if (!valid(ws)) continue; if (ws->m_lastMonitor == m_name || g_pCompositor->m_monitors.size() == 1 /* avoid lost workspaces on recover */) { - g_pCompositor->moveWorkspaceToMonitor(ws.lock(), m_self.lock()); + g_pCompositor->moveWorkspaceToMonitor(ws, m_self.lock()); ws->startAnim(true, true, true); ws->m_lastMonitor = ""; } -- cgit v1.2.3