summaryrefslogtreecommitdiff
path: root/src/protocols/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/core')
-rw-r--r--src/protocols/core/Compositor.cpp2
-rw-r--r--src/protocols/core/Compositor.hpp5
2 files changed, 5 insertions, 2 deletions
diff --git a/src/protocols/core/Compositor.cpp b/src/protocols/core/Compositor.cpp
index 656433d3..a767dd52 100644
--- a/src/protocols/core/Compositor.cpp
+++ b/src/protocols/core/Compositor.cpp
@@ -432,6 +432,8 @@ void CWLSurfaceResource::commitPendingState() {
pending.bufferDamage.clear();
pending.newBuffer = false;
+ events.roleCommit.emit();
+
if (syncobj && syncobj->current.releaseTimeline && syncobj->current.releaseTimeline->timeline && current.buffer && current.buffer->buffer)
current.buffer->releaser = makeShared<CSyncReleaser>(syncobj->current.releaseTimeline->timeline, syncobj->current.releasePoint);
diff --git a/src/protocols/core/Compositor.hpp b/src/protocols/core/Compositor.hpp
index af0dfa58..a3245399 100644
--- a/src/protocols/core/Compositor.hpp
+++ b/src/protocols/core/Compositor.hpp
@@ -75,8 +75,9 @@ class CWLSurfaceResource {
Vector2D sourceSize();
struct {
- CSignal precommit;
- CSignal commit;
+ CSignal precommit; // before commit
+ CSignal roleCommit; // commit for role objects, before regular commit
+ CSignal commit; // after commit
CSignal map;
CSignal unmap;
CSignal newSubsurface;