summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorRaymond Bian <raybbian@gmail.com>2025-01-02 06:51:59 -0500
committerGitHub <noreply@github.com>2025-01-02 11:51:59 +0000
commitcbd2451570d5c4d8b40035c3fcbabfb298385458 (patch)
tree73557878e99717a61e6556b8ffc7d6a44637c0fb /src/render/Renderer.cpp
parentdde3e082c96cd6987420556bfc430cd5b8e0980c (diff)
renderer: fix CRendererHintsPassElement reset duplication issue (#8928)
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index 9aa794b4..35150ce2 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -807,13 +807,16 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA
if (scale != 1.f)
RENDERMODIFDATA.modifs.emplace_back(std::make_pair<>(SRenderModifData::eRenderModifType::RMOD_TYPE_SCALE, scale));
- CScopeGuard x([] {});
-
if (!RENDERMODIFDATA.modifs.empty()) {
g_pHyprRenderer->m_sRenderPass.add(makeShared<CRendererHintsPassElement>(CRendererHintsPassElement::SData{RENDERMODIFDATA}));
- x = CScopeGuard([] { g_pHyprRenderer->m_sRenderPass.add(makeShared<CRendererHintsPassElement>(CRendererHintsPassElement::SData{SRenderModifData{}})); });
}
+ CScopeGuard x([&RENDERMODIFDATA] {
+ if (!RENDERMODIFDATA.modifs.empty()) {
+ g_pHyprRenderer->m_sRenderPass.add(makeShared<CRendererHintsPassElement>(CRendererHintsPassElement::SData{SRenderModifData{}}));
+ }
+ });
+
if (!pWorkspace) {
// allow rendering without a workspace. In this case, just render layers.