Resolve deferred size comparisons before allocating span slots
This commit is contained in:
1 parent
de1eb7e406
commit
8780b40bb7
23 files changed
+1471
-130
No files matched your search
+4
-4
@@ -292,7 +292,7 @@ impl Plan {
|
||||
align: None,
|
||||
..self.clone()
|
||||
}),
|
||||
self.size.map(|_| Plan {
|
||||
self.size.as_ref().map(|_| Plan {
|
||||
size: None,
|
||||
..self.clone()
|
||||
}),
|
||||
@@ -373,7 +373,7 @@ impl Plan {
|
||||
}
|
||||
if plan.size.is_some() {
|
||||
if let Some(lens) = edits.sizes.get(&sized) {
|
||||
plan.size = Some(*lens);
|
||||
plan.size = Some(lens.clone());
|
||||
}
|
||||
sized += 1;
|
||||
}
|
||||
@@ -716,7 +716,7 @@ impl Sow<'_> {
|
||||
}
|
||||
let idx = self.sized;
|
||||
self.sized += 1;
|
||||
inner.size = Some(self.edits.sizes.get(&idx).copied().unwrap_or(lens));
|
||||
inner.size = Some(self.edits.sizes.get(&idx).cloned().unwrap_or(lens));
|
||||
}
|
||||
|
||||
/// An alignment over some of the tree, kept where a test can change it.
|
||||
@@ -852,7 +852,7 @@ impl<Rsc: UiRsc + 'static> Build<'_, Rsc> {
|
||||
fn node(&mut self, plan: &Plan) -> StrongWidget {
|
||||
let built = self.kind(&plan.kind);
|
||||
let id = built.id();
|
||||
if let Some(lens) = plan.size {
|
||||
if let Some(lens) = plan.size.clone() {
|
||||
self.rsc.ui_mut().widgets.set_size_rules(id, lens.x, lens.y);
|
||||
self.tree.sized.push(id);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user