render, helpers: Call OpenGL destroyMonitorResources on disconnect (#10111)

* render, helpers: Call OpenGL destroyMonitorResources on disconnect

* helpers: Add opengl null check
This commit is contained in:
Lee Bousfield 2025-04-18 10:37:51 -05:00 committed by GitHub
parent ddae3036ca
commit 7631d4c73f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9 additions and 4 deletions

View file

@ -51,6 +51,8 @@ CMonitor::CMonitor(SP<Aquamarine::IOutput> output_) : state(this), output(output
CMonitor::~CMonitor() {
events.destroy.emit();
if (g_pHyprOpenGL)
g_pHyprOpenGL->destroyMonitorResources(self);
}
void CMonitor::onConnect(bool noRule) {
@ -295,6 +297,8 @@ void CMonitor::onDisconnect(bool destroy) {
Debug::log(LOG, "onDisconnect called for {}", output->name);
events.disconnect.emit();
if (g_pHyprOpenGL)
g_pHyprOpenGL->destroyMonitorResources(self);
// record what workspace this monitor was on
if (activeWorkspace) {
@ -832,7 +836,7 @@ bool CMonitor::applyMonitorRule(SMonitorRule* pMonitorRule, bool force) {
updateMatrix();
if (WAS10B != enabled10bit || OLDRES != vecPixelSize)
g_pHyprOpenGL->destroyMonitorResources(self.lock());
g_pHyprOpenGL->destroyMonitorResources(self);
g_pCompositor->arrangeMonitors();