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.
This commit is contained in:
Tom Englund
2025-07-17 21:59:20 +02:00
committed by Vaxry
parent fd724767d9
commit 24296d5b81

View File

@@ -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();
});