From 7631d4c73f08217f3b8b78731e46a437319219da Mon Sep 17 00:00:00 2001 From: Lee Bousfield Date: Fri, 18 Apr 2025 10:37:51 -0500 Subject: render, helpers: Call OpenGL destroyMonitorResources on disconnect (#10111) * render, helpers: Call OpenGL destroyMonitorResources on disconnect * helpers: Add opengl null check --- src/render/OpenGL.cpp | 5 +++-- src/render/OpenGL.hpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src/render') diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 27d3671f..754f3ff9 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -2997,7 +2997,7 @@ void CHyprOpenGLImpl::clearWithTex() { } } -void CHyprOpenGLImpl::destroyMonitorResources(PHLMONITOR pMonitor) { +void CHyprOpenGLImpl::destroyMonitorResources(PHLMONITORREF pMonitor) { g_pHyprRenderer->makeEGLCurrent(); if (!g_pHyprOpenGL) @@ -3021,7 +3021,8 @@ void CHyprOpenGLImpl::destroyMonitorResources(PHLMONITOR pMonitor) { g_pHyprOpenGL->m_mMonitorBGFBs.erase(TEXIT); } - Debug::log(LOG, "Monitor {} -> destroyed all render data", pMonitor->szName); + if (pMonitor) + Debug::log(LOG, "Monitor {} -> destroyed all render data", pMonitor->szName); } void CHyprOpenGLImpl::saveMatrix() { diff --git a/src/render/OpenGL.hpp b/src/render/OpenGL.hpp index 17ef4f5f..276d5268 100644 --- a/src/render/OpenGL.hpp +++ b/src/render/OpenGL.hpp @@ -207,7 +207,7 @@ class CHyprOpenGLImpl { void scissor(const pixman_box32*, bool transform = true); void scissor(const int x, const int y, const int w, const int h, bool transform = true); - void destroyMonitorResources(PHLMONITOR); + void destroyMonitorResources(PHLMONITORREF); void markBlurDirtyForMonitor(PHLMONITOR); -- cgit v1.2.3