From bca7804bb6e1bf5ce5a99b9ae4806be25e36993c Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Sat, 27 Apr 2024 12:43:12 +0100 Subject: internal: Window storage rework - part 1 (#5762) * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks --- src/config/ConfigManager.cpp | 6 +++--- src/config/ConfigManager.hpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/config') diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 587d8c82..3c1bc80d 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -1018,8 +1018,8 @@ SWorkspaceRule CConfigManager::mergeWorkspaceRules(const SWorkspaceRule& rule1, return mergedRule; } -std::vector CConfigManager::getMatchingRules(CWindow* pWindow, bool dynamic, bool shadowExec) { - if (!g_pCompositor->windowExists(pWindow)) +std::vector CConfigManager::getMatchingRules(PHLWINDOW pWindow, bool dynamic, bool shadowExec) { + if (!valid(pWindow)) return std::vector(); std::vector returns; @@ -1104,7 +1104,7 @@ std::vector CConfigManager::getMatchingRules(CWindow* pWindow, bool } if (rule.bFocus != -1) { - if (rule.bFocus != (g_pCompositor->m_pLastWindow == pWindow)) + if (rule.bFocus != (g_pCompositor->m_pLastWindow.lock() == pWindow)) continue; } diff --git a/src/config/ConfigManager.hpp b/src/config/ConfigManager.hpp index bdfd14d0..aa34cf3b 100644 --- a/src/config/ConfigManager.hpp +++ b/src/config/ConfigManager.hpp @@ -113,7 +113,7 @@ class CConfigManager { std::string getBoundMonitorStringForWS(const std::string&); const std::deque& getAllWorkspaceRules(); - std::vector getMatchingRules(CWindow*, bool dynamic = true, bool shadowExec = false); + std::vector getMatchingRules(PHLWINDOW, bool dynamic = true, bool shadowExec = false); std::vector getMatchingRules(SLayerSurface*); std::unordered_map m_mAdditionalReservedAreas; -- cgit v1.2.3