From 24296d5b81c984512a9c456e1d0eaf3b3acd2f52 Mon Sep 17 00:00:00 2001 From: Tom Englund Date: Thu, 17 Jul 2025 21:59:20 +0200 Subject: [PATCH] framescheduler: dont if check deleted weakpointer (#11063) if m_monitor is destroyed the doOnReadable will eventually hit UB on destruction if checking a destroyed m_monitor. acctually use the captured mon weak pointer. --- src/helpers/MonitorFrameScheduler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/MonitorFrameScheduler.cpp b/src/helpers/MonitorFrameScheduler.cpp index 0dc791595..d05c96945 100644 --- a/src/helpers/MonitorFrameScheduler.cpp +++ b/src/helpers/MonitorFrameScheduler.cpp @@ -103,7 +103,7 @@ void CMonitorFrameScheduler::onFrame() { void CMonitorFrameScheduler::onFinishRender() { m_sync = CEGLSync::create(); // this destroys the old sync g_pEventLoopManager->doOnReadable(m_sync->fd().duplicate(), [this, mon = m_monitor] { - if (!m_monitor) // might've gotten destroyed + if (!mon) // might've gotten destroyed return; onSyncFired(); });