summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-07-28 22:08:05 +0200
committerVaxry <vaxry@vaxry.net>2025-07-28 22:08:05 +0200
commitabe29647ae9cf2e6bd40784790b3d99fcc962613 (patch)
treec64372390f0319d0bcb119f16941856f7e6b8575 /src/Compositor.cpp
parentc63d0003a1e5155248695f19778f815a8ad34c67 (diff)
monitor: fix crash on mutating workspace vec
fixes #11236
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp10
1 files changed, 10 insertions, 0 deletions
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<PHLWORKSPACE> CCompositor::getWorkspacesCopy() {
+ std::vector<PHLWORKSPACE> 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<Hyprlang::INT>("misc:disable_xdg_env_checks");
static auto PNOCHECKQTUTILS = CConfigValue<Hyprlang::INT>("misc:disable_hyprland_qtutils_check");