diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-10-28 21:46:19 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-10-28 21:46:19 +0100 |
| commit | d193d70ecf22fb04b39a69b8ed3d89d310563f54 (patch) | |
| tree | 136dd92fdf82b1c62c0ab2a06900f91be1dfd82c /src/render/OpenGL.cpp | |
| parent | 9e227a52c0bba1338344e1113f5aabfa21599380 (diff) | |
guard primaryFB tex in end()
Diffstat (limited to 'src/render/OpenGL.cpp')
| -rw-r--r-- | src/render/OpenGL.cpp | 12 |
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); |
