summaryrefslogtreecommitdiff
path: root/src/render/OpenGL.cpp
diff options
context:
space:
mode:
authormatjam <chrome@stupendous.net>2026-03-09 15:05:58 -0700
committerVaxry <43317083+vaxerski@users.noreply.github.com>2026-03-10 10:06:24 +0000
commit53899907245dad27e8b78b3c35a62fb1669e6096 (patch)
tree8a7f1da88d0e5ed6e7b7fc78a9796ad5582aed8e /src/render/OpenGL.cpp
parent318673e7646796d55426c90b206abbd9d8253bf3 (diff)
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.
Diffstat (limited to 'src/render/OpenGL.cpp')
-rw-r--r--src/render/OpenGL.cpp3
1 files changed, 2 insertions, 1 deletions
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();