From 625e4ce264554e32975cb5f9e1d18b22640b56e6 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Fri, 18 Mar 2022 23:52:36 +0100 Subject: fixed rendering --- src/render/Renderer.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/render/Renderer.cpp') diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 03c78d40..62e78c56 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -51,7 +51,7 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) { // render the bad boy wlr_output_layout_output_coords(g_pCompositor->m_sWLROutputLayout, PMONITOR->output, &w.m_vPosition.x, &w.m_vPosition.y); - SRenderData renderdata = {PMONITOR->output, time, w.m_vSize.x, w.m_vSize.y}; + SRenderData renderdata = {PMONITOR->output, time, w.m_vPosition.x, w.m_vPosition.y}; wlr_surface_for_each_surface(g_pXWaylandManager->getWindowSurface(&w), renderSurface, &renderdata); wlr_xdg_surface_for_each_popup_surface(w.m_uSurface.xdg, renderSurface, &renderdata); @@ -62,7 +62,10 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) { if (!w.m_bIsX11) continue; - wlr_box geometry = { w.m_uSurface.xwayland->x, w.m_uSurface.xwayland->y, w.m_uSurface.xwayland->width, w.m_uSurface.xwayland->height }; + if (!g_pCompositor->windowValidMapped(&w)) + continue; + + wlr_box geometry = {w.m_vPosition.x, w.m_vPosition.y, w.m_vSize.x, w.m_vSize.y}; if (!wlr_output_layout_intersects(g_pCompositor->m_sWLROutputLayout, PMONITOR->output, &geometry)) continue; @@ -70,7 +73,7 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) { // render the bad boy wlr_output_layout_output_coords(g_pCompositor->m_sWLROutputLayout, PMONITOR->output, &w.m_vPosition.x, &w.m_vPosition.y); - SRenderData renderdata = {PMONITOR->output, time, w.m_vSize.x, w.m_vSize.y}; + SRenderData renderdata = {PMONITOR->output, time, w.m_vPosition.x, w.m_vPosition.y}; if (w.m_uSurface.xwayland->surface) wlr_surface_for_each_surface(g_pXWaylandManager->getWindowSurface(&w), renderSurface, &renderdata); -- cgit v1.2.3