summaryrefslogtreecommitdiff
path: root/src/protocols
diff options
context:
space:
mode:
authorTom Englund <tomenglund26@gmail.com>2026-02-18 15:29:35 +0100
committerGitHub <noreply@github.com>2026-02-18 14:29:35 +0000
commit1af260ecbeb850e07e12f9ea70fde9f581b66fa4 (patch)
treedfc2ef190d4f1d2ad5414ed5697ec19a0da80cac /src/protocols
parent0de216e783d02748183ac5a5712201517685f492 (diff)
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.
Diffstat (limited to 'src/protocols')
-rw-r--r--src/protocols/core/Compositor.cpp2
1 files changed, 1 insertions, 1 deletions
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<SSurfaceState> 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();
}
}