diff options
| author | Raymond Bian <raybbian@gmail.com> | 2025-01-02 06:51:59 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-02 11:51:59 +0000 |
| commit | cbd2451570d5c4d8b40035c3fcbabfb298385458 (patch) | |
| tree | 73557878e99717a61e6556b8ffc7d6a44637c0fb /src/render/Renderer.cpp | |
| parent | dde3e082c96cd6987420556bfc430cd5b8e0980c (diff) | |
renderer: fix CRendererHintsPassElement reset duplication issue (#8928)
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 9 |
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. |
