tree: make surface visibility tracking more robust
This commit is contained in:
parent
be0935c8dd
commit
ba98103233
26 changed files with 313 additions and 144 deletions
|
|
@ -66,7 +66,7 @@ impl ExtSessionLockV1 {
|
|||
if node.lock_surface.is_some() {
|
||||
return Err(ExtSessionLockV1Error::OutputAlreadyLocked);
|
||||
}
|
||||
node.lock_surface.set(Some(new.clone()));
|
||||
node.set_lock_surface(Some(new.clone()));
|
||||
let pos = output.global.pos.get();
|
||||
new.change_extents(pos);
|
||||
self.client.state.tree_changed();
|
||||
|
|
@ -85,7 +85,7 @@ impl ExtSessionLockV1 {
|
|||
state.lock.locked.set(false);
|
||||
state.lock.lock.take();
|
||||
for output in state.outputs.lock().values() {
|
||||
if let Some(surface) = output.node.lock_surface.take() {
|
||||
if let Some(surface) = output.node.set_lock_surface(None) {
|
||||
surface.destroy_node();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue