summaryrefslogtreecommitdiff
path: root/src/render/OpenGL.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-10-28 21:46:19 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-10-28 21:46:19 +0100
commitd193d70ecf22fb04b39a69b8ed3d89d310563f54 (patch)
tree136dd92fdf82b1c62c0ab2a06900f91be1dfd82c /src/render/OpenGL.cpp
parent9e227a52c0bba1338344e1113f5aabfa21599380 (diff)
guard primaryFB tex in end()
Diffstat (limited to 'src/render/OpenGL.cpp')
-rw-r--r--src/render/OpenGL.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp
index d52fee79..3ad39469 100644
--- a/src/render/OpenGL.cpp
+++ b/src/render/OpenGL.cpp
@@ -133,6 +133,18 @@ void CHyprOpenGLImpl::end() {
clear(CColor(11, 11, 11, 255));
+ if (m_RenderData.pCurrentMonData->primaryFB.m_cTex.m_iTexID == 0) {
+ Debug::log(ERR, "Couldn't end() frame (primary FB tex null???)");
+
+ // this apparently sometimes happens during lid switches... for some people?
+ // release all resources, will be recalc'd
+ destroyMonitorResources(m_RenderData.pMonitor);
+
+ m_RenderData.pMonitor = nullptr;
+ m_iWLROutputFb = 0;
+ return;
+ }
+
m_bEndFrame = true;
renderTexture(m_RenderData.pCurrentMonData->primaryFB.m_cTex, &monbox, 255.f, 0);