1
0
Fork 0
forked from wry/wry

tree: fix toplevel float extent memoization

This commit is contained in:
Julian Orth 2024-02-19 22:58:58 +01:00
parent bd3872a4ef
commit 062bcb25ee
7 changed files with 14 additions and 20 deletions

View file

@ -1440,7 +1440,7 @@ impl ToplevelNode for ContainerNode {
}
}
fn tl_change_extents(self: Rc<Self>, rect: &Rect) {
fn tl_change_extents_impl(self: Rc<Self>, rect: &Rect) {
self.toplevel_data.pos.set(*rect);
self.abs_x1.set(rect.x1());
self.abs_y1.set(rect.y1());

View file

@ -156,7 +156,7 @@ impl ToplevelNode for PlaceholderNode {
None
}
fn tl_change_extents(self: Rc<Self>, rect: &Rect) {
fn tl_change_extents_impl(self: Rc<Self>, rect: &Rect) {
self.toplevel.pos.set(*rect);
if let Some(p) = self.toplevel.parent.get() {
p.node_child_size_changed(self.deref(), rect.width(), rect.height());

View file

@ -149,9 +149,16 @@ pub trait ToplevelNode: Node {
}
fn tl_change_extents(self: Rc<Self>, rect: &Rect) {
let _ = rect;
let data = self.tl_data();
if data.is_floating.get() {
data.float_width.set(rect.width());
data.float_height.set(rect.height());
}
self.tl_change_extents_impl(rect)
}
fn tl_change_extents_impl(self: Rc<Self>, rect: &Rect);
fn tl_close(self: Rc<Self>) {
// nothing
}