diff options
author | Vaxry <[email protected]> | 2023-11-18 14:26:21 +0000 |
---|---|---|
committer | Vaxry <[email protected]> | 2023-11-18 14:26:21 +0000 |
commit | 1df4d332b52b96b766c75fe937ec4d98ec992edd (patch) | |
tree | 227036787c6f8ff82dd5d680ed256454d773aaab | |
parent | ea277197fac4d1615f755cdccee42ab7ab5a9b82 (diff) | |
download | Hyprland-1df4d332b52b96b766c75fe937ec4d98ec992edd.tar.gz Hyprland-1df4d332b52b96b766c75fe937ec4d98ec992edd.zip |
fix clipboxfloating-special
-rw-r--r-- | src/render/Renderer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 2b61ab6f..b78ddccd 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -408,8 +408,11 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec* } // if window is floating and we have a slide animation, clip it to its full bb - if (!ignorePosition && pWindow->m_bIsFloating && !pWindow->m_bIsFullscreen && PWORKSPACE->m_vRenderOffset.isBeingAnimated()) - g_pHyprOpenGL->m_RenderData.clipBox = pWindow->getFullWindowBoundingBox().translate(-pMonitor->vecPosition); + if (!ignorePosition && pWindow->m_bIsFloating && !pWindow->m_bIsFullscreen && PWORKSPACE->m_vRenderOffset.isBeingAnimated()) { + CRegion rg = pWindow->getFullWindowBoundingBox().translate(-pMonitor->vecPosition); + rg.add(CBox{0, 0, pMonitor->vecSize.x, pMonitor->vecSize.y}); + g_pHyprOpenGL->m_RenderData.clipBox = rg.getExtents(); + } // render window decorations first, if not fullscreen full if (mode == RENDER_PASS_ALL || mode == RENDER_PASS_MAIN) { |