Defer a twice-asked widget's local redraw to its parent
A span asks a share child twice in one draw: in the room, whose answer its slots rest on, and in the decided slot, whose cross-axis answer it reads. The record keeps only the second question, so a local redraw that found that answer unchanged never told the row that the first had -- seed 946 at depth 6, where emptying a fixed-height column turns it from a share into a fixed width as wide as the row. A widget its parent asked more than once in one draw now defers to that parent, like one whose declared length changed. Pinned as unsettled::emptying_a_column_the_row_asked_twice_asks_the_row_again. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
3091fb86df
commit
0ef87ebfcf
4 files changed
+105
-3
No files matched your search
@@ -40,6 +40,11 @@ pub struct ActiveData {
|
||||
/// The measured answer and its dependencies. A hint-only dependency or
|
||||
/// a widget first encountered during placement has no measurement yet.
|
||||
pub answer: Option<(Size, LayoutHolds)>,
|
||||
/// Asked more than once in its parent's last draw -- measured in one box
|
||||
/// and then asked in the one the parent decided. The parent's layout
|
||||
/// rests on the first answer and its drawing on the last, so only the
|
||||
/// parent can ask either again.
|
||||
pub re_asked: bool,
|
||||
/// What the widget said it used of its frame, the last time it drew.
|
||||
pub size: Size,
|
||||
/// The frame and extent reads that this drawing holds for.
|
||||
|
||||
Reference in new issue
Block a user