surface: remove interior mutability from pending state
This commit is contained in:
parent
84e6b74893
commit
86d37b5aa4
4 changed files with 53 additions and 52 deletions
|
|
@ -39,13 +39,13 @@ impl WpTearingControlV1 {
|
|||
ASYNC => true,
|
||||
_ => return Err(WpTearingControlV1Error::UnknownPresentationHint(req.hint)),
|
||||
};
|
||||
self.surface.pending.tearing.set(Some(tearing));
|
||||
self.surface.pending.borrow_mut().tearing = Some(tearing);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn destroy(&self, parser: MsgParser<'_, '_>) -> Result<(), WpTearingControlV1Error> {
|
||||
let _req: Destroy = self.surface.client.parse(self, parser)?;
|
||||
self.surface.pending.tearing.set(Some(false));
|
||||
self.surface.pending.borrow_mut().tearing = Some(false);
|
||||
self.surface.tearing_control.take();
|
||||
self.surface.client.remove_obj(self)?;
|
||||
Ok(())
|
||||
|
|
|
|||
|
|
@ -38,8 +38,9 @@ impl WpViewport {
|
|||
|
||||
fn destroy(&self, msg: MsgParser<'_, '_>) -> Result<(), WpViewportError> {
|
||||
let _req: Destroy = self.client.parse(self, msg)?;
|
||||
self.surface.pending.src_rect.set(Some(None));
|
||||
self.surface.pending.dst_size.set(Some(None));
|
||||
let pending = &mut *self.surface.pending.borrow_mut();
|
||||
pending.src_rect = Some(None);
|
||||
pending.dst_size = Some(None);
|
||||
self.surface.viewporter.take();
|
||||
self.client.remove_obj(self)?;
|
||||
Ok(())
|
||||
|
|
@ -56,7 +57,7 @@ impl WpViewport {
|
|||
}
|
||||
Some([req.x, req.y, req.width, req.height])
|
||||
};
|
||||
self.surface.pending.src_rect.set(Some(rect));
|
||||
self.surface.pending.borrow_mut().src_rect = Some(rect);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -69,7 +70,7 @@ impl WpViewport {
|
|||
} else {
|
||||
Some((req.width, req.height))
|
||||
};
|
||||
self.surface.pending.dst_size.set(Some(size));
|
||||
self.surface.pending.borrow_mut().dst_size = Some(size);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ impl XwaylandSurfaceV1 {
|
|||
return Err(XwaylandSurfaceV1Error::NonMonotonicSerial);
|
||||
}
|
||||
self.client.last_xwayland_serial.set(serial);
|
||||
self.x.surface.pending.xwayland_serial.set(Some(serial));
|
||||
self.x.surface.pending.borrow_mut().xwayland_serial = Some(serial);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue