From b46dc9ee0c62ad825f79511dd2b4aaeffc274048 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 0dc79159..d05c9694 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(); });