From 53899907245dad27e8b78b3c35a62fb1669e6096 Mon Sep 17 00:00:00 2001 From: matjam Date: Mon, 9 Mar 2026 15:05:58 -0700 Subject: renderer: fix crash on null blur framebuffer during monitor disconnect Guard all m_blurFB dereferences against null. The blur framebuffer is reset during monitor disconnect but layer surface snapshots use a simple render path that skips framebuffer allocation. --- src/render/OpenGL.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/render/OpenGL.cpp') diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index e9ca8baf..1c30e3ed 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -1029,7 +1029,8 @@ void CHyprOpenGLImpl::renderRectWithBlurInternal(const CBox& box, const CHyprCol CRegion damage{g_pHyprRenderer->m_renderData.damage}; damage.intersect(box); - auto POUTFB = data.xray ? g_pHyprRenderer->m_renderData.pMonitor->m_blurFB->getTexture() : g_pHyprRenderer->blurMainFramebuffer(data.blurA, &damage); + auto POUTFB = data.xray ? (g_pHyprRenderer->m_renderData.pMonitor->m_blurFB ? g_pHyprRenderer->m_renderData.pMonitor->m_blurFB->getTexture() : nullptr) : + g_pHyprRenderer->blurMainFramebuffer(data.blurA, &damage); g_pHyprRenderer->m_renderData.currentFB->bind(); -- cgit v1.2.3