diff options
| author | Adam Malczewski <[email protected]> | 2026-06-15 13:30:00 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-15 13:30:00 +0900 |
| commit | 91312ec3e164b04216ca10cd36bf77a6b72be533 (patch) | |
| tree | 44b95a8f7244a22de689acd4417d4e87d0a5a41f /packages/kernel/tests/test_kernel.cpp | |
| parent | e051b9b22f8e237c7f52c119c57d71f02be24b3d (diff) | |
| download | unbox-91312ec3e164b04216ca10cd36bf77a6b72be533.tar.gz unbox-91312ec3e164b04216ca10cd36bf77a6b72be533.zip | |
kernel(rml-compositing): fix Wave-1 test-seam listener lifetime (root cause)
The Wave-1 headless surface-capture test seam attached a commit Listener to
every client wl_surface and only detached at Server teardown, so a client
destroying a surface mid-session tripped wlroots'
wl_list_empty(&surface->events.commit.listener_list) assertion (SIGABRT). This
aborted ext-stage-dock-glue at teardown and forced an in-unit workaround in
ext-xdg-shell-client.
Fix: the per-surface commit Listener is now RAII-scoped to the surface's own
lifetime (dropped on a wlr_surface.events.destroy listener), so it unsubscribes
before the surface resource is destroyed. Test-probe behavior unchanged;
extension-facing contract unchanged.
kernel suite green; ext-stage-dock now GREEN (no teardown SIGABRT); ext-xdg-shell
still green; build-asan kernel green, no new unbox::-framed leak/UB.
Diffstat (limited to 'packages/kernel/tests/test_kernel.cpp')
0 files changed, 0 insertions, 0 deletions
