diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 68a90b4b..2ca725bc 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -25,8 +25,7 @@ void renderSurface(struct wlr_surface* surface, int x, int y, void* data) { windowBox.height = RDATA->h - y; } - if (RDATA->pWindow) - g_pHyprRenderer->calculateUVForWindowSurface(RDATA->pWindow, surface, RDATA->squishOversized); + g_pHyprRenderer->calculateUVForSurface(RDATA->pWindow, surface, RDATA->squishOversized); scaleBox(&windowBox, RDATA->pMonitor->scale); @@ -539,8 +538,8 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) { renderDragIcon(PMONITOR, time); } -void CHyprRenderer::calculateUVForWindowSurface(CWindow* pWindow, wlr_surface* pSurface, bool main) { - if (!pWindow->m_bIsX11) { +void CHyprRenderer::calculateUVForSurface(CWindow* pWindow, wlr_surface* pSurface, bool main) { + if (!pWindow || !pWindow->m_bIsX11) { Vector2D uvTL; Vector2D uvBR = Vector2D(1, 1); @@ -570,7 +569,7 @@ void CHyprRenderer::calculateUVForWindowSurface(CWindow* pWindow, wlr_surface* p g_pHyprOpenGL->m_RenderData.primarySurfaceUVBottomRight = Vector2D(-1, -1); } - if (!main) + if (!main || !pWindow) return; wlr_box geom; diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp index 2f34ef5d..c1cef365 100644 --- a/src/render/Renderer.hpp +++ b/src/render/Renderer.hpp @@ -10,14 +10,16 @@ struct SMonitorRule; // TODO: add fuller damage tracking for updating only parts of a window -enum DAMAGETRACKINGMODES { +enum DAMAGETRACKINGMODES +{ DAMAGE_TRACKING_INVALID = -1, DAMAGE_TRACKING_NONE = 0, DAMAGE_TRACKING_MONITOR, DAMAGE_TRACKING_FULL }; -enum eRenderPassMode { +enum eRenderPassMode +{ RENDER_PASS_ALL = 0, RENDER_PASS_MAIN, RENDER_PASS_POPUP @@ -43,7 +45,7 @@ class CHyprRenderer { bool shouldRenderWindow(CWindow*); void ensureCursorRenderingMode(); bool shouldRenderCursor(); - void calculateUVForWindowSurface(CWindow*, wlr_surface*, bool main = false); + void calculateUVForSurface(CWindow*, wlr_surface*, bool main = false); bool m_bWindowRequestedCursorHide = false; bool m_bBlockSurfaceFeedback = false;