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/Compositor.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/Compositor.cpp') diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 14f9ee63..e00c8c36 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -2692,6 +2692,16 @@ void CCompositor::registerWorkspace(PHLWORKSPACE w) { w->m_events.destroy.listenStatic([this, weak = PHLWORKSPACEREF{w}] { std::erase(m_workspaces, weak); }); } +std::vector CCompositor::getWorkspacesCopy() { + std::vector wsp; + auto range = getWorkspaces(); + wsp.reserve(std::ranges::distance(range)); + for (auto& r : range) { + wsp.emplace_back(r.lock()); + } + return wsp; +} + void CCompositor::performUserChecks() { static auto PNOCHECKXDG = CConfigValue("misc:disable_xdg_env_checks"); static auto PNOCHECKQTUTILS = CConfigValue("misc:disable_hyprland_qtutils_check"); -- cgit v1.2.3