1
0
Fork 0
forked from wry/wry

autocommit 2022-04-27 18:04:02 CEST

This commit is contained in:
Julian Orth 2022-04-27 18:04:02 +02:00
parent cff35fd7da
commit 57899b3f35
14 changed files with 173 additions and 66 deletions

View file

@ -214,7 +214,12 @@ impl WlSeatGlobal {
if old_ws.id == ws.id {
return;
}
let cn = match tl.tl_data().parent.get().and_then(|p| p.node_into_containing_node()) {
let cn = match tl
.tl_data()
.parent
.get()
.and_then(|p| p.node_into_containing_node())
{
Some(cn) => cn,
_ => return,
};
@ -226,7 +231,12 @@ impl WlSeatGlobal {
}
}
if tl.tl_data().is_floating.get() {
self.state.map_floating(tl.clone(), tl.tl_data().float_width.get(), tl.tl_data().float_height.get(), ws);
self.state.map_floating(
tl.clone(),
tl.tl_data().float_width.get(),
tl.tl_data().float_height.get(),
ws,
);
} else {
self.state.map_tiled_on(tl, ws);
}

View file

@ -426,6 +426,7 @@ impl WlSeatGlobal {
}
pub(super) fn apply_changes(self: &Rc<Self>) {
self.state.damage();
self.pointer_owner.apply_changes(self);
self.changes.set(0);
}

View file

@ -180,6 +180,7 @@ struct PendingState {
opaque_region: Cell<Option<Option<Rc<Region>>>>,
input_region: Cell<Option<Option<Rc<Region>>>>,
frame_request: RefCell<Vec<Rc<WlCallback>>>,
damage: Cell<bool>,
}
#[derive(Default)]
@ -403,6 +404,7 @@ impl WlSurface {
fn damage(&self, parser: MsgParser<'_, '_>) -> Result<(), DamageError> {
let _req: Damage = self.parse(parser)?;
self.pending.damage.set(true);
Ok(())
}
@ -507,6 +509,7 @@ impl WlSurface {
self.calculate_extents();
}
ext.post_commit();
self.client.state.damage();
Ok(())
}
@ -531,6 +534,7 @@ impl WlSurface {
fn damage_buffer(&self, parser: MsgParser<'_, '_>) -> Result<(), DamageBufferError> {
let _req: DamageBuffer = self.parse(parser)?;
self.pending.damage.set(true);
Ok(())
}