From 560c53d87dedf7df8185eb370cfbf3575826e85c Mon Sep 17 00:00:00 2001 From: Vaxry Date: Mon, 27 Oct 2025 13:34:08 +0000 Subject: monitor/dpms: fix possible invalid state If dpms gets immediately re-enabled, a commit could fail, not schedule any frames anymore, and the monitor would be stuck off. Fix this by adding a timer to retry if commit fails. ref #12045 --- src/helpers/Monitor.hpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/helpers/Monitor.hpp') diff --git a/src/helpers/Monitor.hpp b/src/helpers/Monitor.hpp index 687fc049..ff697725 100644 --- a/src/helpers/Monitor.hpp +++ b/src/helpers/Monitor.hpp @@ -68,6 +68,7 @@ struct SMonitorRule { class CMonitor; class CSyncTimeline; class CEGLSync; +class CEventLoopTimer; class CMonitorState { public: @@ -138,6 +139,8 @@ class CMonitor { bool m_createdByUser = false; bool m_isUnsafeFallback = false; + SP m_dpmsRetryTimer; + bool m_pendingFrame = false; // if we schedule a frame during rendering, reschedule it after bool m_renderingActive = false; -- cgit v1.2.3