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 GitHub
parent 75c0675e14
commit b46dc9ee0c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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