guard primaryFB tex in end()

This commit is contained in:
vaxerski 2022-10-28 21:46:19 +01:00
parent 9e227a52c0
commit d193d70ecf
2 changed files with 13 additions and 0 deletions

View file

@ -74,6 +74,7 @@ void CFramebuffer::release() {
m_cTex.m_iTexID = 0; m_cTex.m_iTexID = 0;
m_iFb = -1; m_iFb = -1;
m_Size = Vector2D();
} }
CFramebuffer::~CFramebuffer() { CFramebuffer::~CFramebuffer() {

View file

@ -133,6 +133,18 @@ void CHyprOpenGLImpl::end() {
clear(CColor(11, 11, 11, 255)); 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; m_bEndFrame = true;
renderTexture(m_RenderData.pCurrentMonData->primaryFB.m_cTex, &monbox, 255.f, 0); renderTexture(m_RenderData.pCurrentMonData->primaryFB.m_cTex, &monbox, 255.f, 0);