diff options
Diffstat (limited to 'src/library/layout/stack.rs')
| -rw-r--r-- | src/library/layout/stack.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/library/layout/stack.rs b/src/library/layout/stack.rs index 828ff8e3..9c2cbccd 100644 --- a/src/library/layout/stack.rs +++ b/src/library/layout/stack.rs @@ -194,7 +194,12 @@ impl<'a> StackLayouter<'a> { let frames = node.layout(ctx, &self.regions, styles)?; let len = frames.len(); - for (i, frame) in frames.into_iter().enumerate() { + for (i, mut frame) in frames.into_iter().enumerate() { + // Set the generic block role. + if frame.role().map_or(true, Role::is_weak) { + Arc::make_mut(&mut frame).apply_role(Role::GenericBlock); + } + // Grow our size, shrink the region and save the frame for later. let size = frame.size.to_gen(self.axis); self.used.main += size.main; |
