From ef448ec87026b7b8a1d753ba909bad3eeeba1f61 Mon Sep 17 00:00:00 2001 From: shadow cat Date: Mon, 17 Nov 2025 16:30:25 -0500 Subject: [PATCH] fix awful desired size cache --- src/layout/painter.rs | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/layout/painter.rs b/src/layout/painter.rs index 4acf395..5d9a9d3 100644 --- a/src/layout/painter.rs +++ b/src/layout/painter.rs @@ -167,6 +167,18 @@ impl<'a> PainterCtx<'a> { self.draw_started.insert(id); + let desired_size = SizeCtx { + text: self.text, + textures: self.textures, + widgets: self.widgets, + checked: &mut Default::default(), + screen_size: self.screen_size, + px_dependent: &mut Default::default(), + id, + size: region.size(), + } + .size_raw(id); + let mut painter = Painter { region, mask, @@ -181,17 +193,6 @@ impl<'a> PainterCtx<'a> { // draw widgets painter.ctx.widgets.get_dyn_dynamic(id).draw(&mut painter); - let desired_size = SizeCtx { - text: painter.ctx.text, - textures: painter.ctx.textures, - widgets: painter.ctx.widgets, - checked: &mut Default::default(), - screen_size: painter.ctx.screen_size, - px_dependent: &mut Default::default(), - id: painter.id, - size: UiVec2::FULL_SIZE, - } - .size_raw(id); let sized_children = painter.sized_children;