tree: fix toplevel float extent memoization
This commit is contained in:
parent
bd3872a4ef
commit
062bcb25ee
7 changed files with 14 additions and 20 deletions
|
|
@ -369,12 +369,7 @@ 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() {
|
||||
Some(cn) => cn,
|
||||
_ => return,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -385,14 +385,10 @@ impl ToplevelNode for Xwindow {
|
|||
self.x.surface.set_output(&ws.output.get());
|
||||
}
|
||||
|
||||
fn tl_change_extents(self: Rc<Self>, rect: &Rect) {
|
||||
fn tl_change_extents_impl(self: Rc<Self>, rect: &Rect) {
|
||||
// log::info!("xwin {} change_extents {:?}", self.data.window_id, rect);
|
||||
let old = self.data.info.extents.replace(*rect);
|
||||
if old != *rect {
|
||||
if self.toplevel_data.is_floating.get() {
|
||||
self.toplevel_data.float_width.set(rect.width());
|
||||
self.toplevel_data.float_height.set(rect.height());
|
||||
}
|
||||
if !self.data.info.override_redirect.get() {
|
||||
self.data
|
||||
.state
|
||||
|
|
|
|||
|
|
@ -483,15 +483,11 @@ impl ToplevelNode for XdgToplevel {
|
|||
self.xdg.set_workspace(ws);
|
||||
}
|
||||
|
||||
fn tl_change_extents(self: Rc<Self>, rect: &Rect) {
|
||||
fn tl_change_extents_impl(self: Rc<Self>, rect: &Rect) {
|
||||
let nw = rect.width();
|
||||
let nh = rect.height();
|
||||
let de = self.xdg.absolute_desired_extents.get();
|
||||
if de.width() != nw || de.height() != nh {
|
||||
if self.toplevel_data.is_floating.get() {
|
||||
self.toplevel_data.float_width.set(rect.width());
|
||||
self.toplevel_data.float_height.set(rect.height());
|
||||
}
|
||||
self.send_configure_checked(nw, nh);
|
||||
self.xdg.do_send_configure();
|
||||
// self.xdg.surface.client.flush();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue