From 1af260ecbeb850e07e12f9ea70fde9f581b66fa4 Mon Sep 17 00:00:00 2001 From: Tom Englund Date: Wed, 18 Feb 2026 15:29:35 +0100 Subject: [PATCH] compositor: dont unlock all states on empty commits (#13303) we cant unlock all states on empty commits, at best tryProcess them. for example if a state is locked and waiting for a fence to become readable, and another commit comes in we cant unlock it until the fence has actually signaled. --- src/protocols/core/Compositor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocols/core/Compositor.cpp b/src/protocols/core/Compositor.cpp index 2aa72d97..7638486f 100644 --- a/src/protocols/core/Compositor.cpp +++ b/src/protocols/core/Compositor.cpp @@ -512,7 +512,7 @@ void CWLSurfaceResource::scheduleState(WP state) { g_pEventLoopManager->doOnReadable(std::move(state->buffer->m_syncFd), [state, whenReadable]() { whenReadable(state, LOCK_REASON_FENCE); }); } else { // state commit without a buffer. - m_stateQueue.unlock(state, LOCK_REASON_FENCE); + m_stateQueue.tryProcess(); } }