From 78c9e2080c800e9da0792b73ca436ef49384bfb7 Mon Sep 17 00:00:00 2001 From: vaxerski Date: Sat, 16 Aug 2025 16:52:28 +0200 Subject: framescheduler: fix edge case crashes rare UAFs because renderMonitor can call onDisconnect (ugh, that should be changed...) fixes #11073 --- src/helpers/MonitorFrameScheduler.hpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/helpers/MonitorFrameScheduler.hpp') diff --git a/src/helpers/MonitorFrameScheduler.hpp b/src/helpers/MonitorFrameScheduler.hpp index e6eab9c9..c9b45a64 100644 --- a/src/helpers/MonitorFrameScheduler.hpp +++ b/src/helpers/MonitorFrameScheduler.hpp @@ -22,15 +22,19 @@ class CMonitorFrameScheduler { void onFrame(); private: - bool canRender(); - void onFinishRender(); - bool newSchedulingEnabled(); + bool canRender(); + void onFinishRender(); + bool newSchedulingEnabled(); - bool m_renderAtFrame = true; - bool m_pendingThird = false; - hrc::time_point m_lastRenderBegun; + bool m_renderAtFrame = true; + bool m_pendingThird = false; + hrc::time_point m_lastRenderBegun; - PHLMONITORREF m_monitor; + PHLMONITORREF m_monitor; - UP m_sync; + UP m_sync; + + WP m_self; + + friend class CMonitor; }; -- cgit v1.2.3