diff options
| author | Lee Bousfield <ljbousfield@gmail.com> | 2025-04-18 10:37:51 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-18 17:37:51 +0200 |
| commit | 7631d4c73f08217f3b8b78731e46a437319219da (patch) | |
| tree | 620e65fbc0375bf68b78ae6d70ce0f7e14ec9ccb /src/render | |
| parent | ddae3036ca6a1729ffe7854a59184116d2622809 (diff) | |
render, helpers: Call OpenGL destroyMonitorResources on disconnect (#10111)
* render, helpers: Call OpenGL destroyMonitorResources on disconnect
* helpers: Add opengl null check
Diffstat (limited to 'src/render')
| -rw-r--r-- | src/render/OpenGL.cpp | 5 | ||||
| -rw-r--r-- | src/render/OpenGL.hpp | 2 |
2 files changed, 4 insertions, 3 deletions
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); |
