atagen

monolith

public
Star0
Watch0

Commit a031f2a94df4

tarball

atagen <boss@atagen.co>2026-10-19 07:54 UTC

1 file changed+1-0
capture: blank toplevel capture while the session is locked

Output capture draws the lock surface, but window capture kept rendering the window's own surface tree, so a screencast leaked contents behind the lock.
Modified file: crates/monolith/src/capture.rs+1 additions
@@ -224,6 +224,7 @@ impl State {
224224 crate::frame::compose(ctx, o, &output, now_ns(), session.draw_cursor())
225225 }
226226 Target::Window(id) => match self.wm.window(*id) {
227+ Some(_) if self.services.lock.active() => Vec::new(),
227228 Some(window) => window_elements(&mut self.renderer, window),
228229 None => {
229230 frame.fail(CaptureFailureReason::Stopped);