From 31cc7f3b87d1d9670b66e73e3720da2e2da49acd Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Thu, 24 Jul 2025 00:36:29 +0200 Subject: core: move workspace ptrs to weak (#11194) Fixes some race conditions that come up in tests. We only clean up workspaces when we render a frame. With this, they are always cleared instantly. --- src/helpers/MiscFunctions.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/helpers/MiscFunctions.cpp') diff --git a/src/helpers/MiscFunctions.cpp b/src/helpers/MiscFunctions.cpp index 8069d414..7fbeda35 100644 --- a/src/helpers/MiscFunctions.cpp +++ b/src/helpers/MiscFunctions.cpp @@ -219,7 +219,7 @@ SWorkspaceIDName getWorkspaceIDNameFromString(const std::string& in) { std::set invalidWSes; // Collect all the workspaces we can't jump to. - for (auto const& ws : g_pCompositor->m_workspaces) { + for (auto const& ws : g_pCompositor->getWorkspaces()) { if (ws->m_isSpecialWorkspace || (ws->m_monitor != g_pCompositor->m_lastMonitor)) { // Can't jump to this workspace invalidWSes.insert(ws->m_id); @@ -237,7 +237,7 @@ SWorkspaceIDName getWorkspaceIDNameFromString(const std::string& in) { // Prepare all named workspaces in case when we need them std::vector namedWSes; - for (auto const& ws : g_pCompositor->m_workspaces) { + for (auto const& ws : g_pCompositor->getWorkspaces()) { if (ws->m_isSpecialWorkspace || (ws->m_monitor != g_pCompositor->m_lastMonitor) || ws->m_id >= 0) continue; @@ -381,7 +381,7 @@ SWorkspaceIDName getWorkspaceIDNameFromString(const std::string& in) { int remains = (int)result.id; std::vector validWSes; - for (auto const& ws : g_pCompositor->m_workspaces) { + for (auto const& ws : g_pCompositor->getWorkspaces()) { if (ws->m_isSpecialWorkspace || (ws->m_monitor != g_pCompositor->m_lastMonitor && !onAllMonitors)) continue; -- cgit v1.2.3