diff --git a/crates/bevy_ui/src/widget/text.rs b/crates/bevy_ui/src/widget/text.rs index 5ff128ebb6..e3fc5eb659 100644 --- a/crates/bevy_ui/src/widget/text.rs +++ b/crates/bevy_ui/src/widget/text.rs @@ -53,7 +53,13 @@ impl Measure for TextMeasure { _available_height: AvailableSpace, ) -> Vec2 { let x = width.unwrap_or_else(|| match available_width { - AvailableSpace::Definite(x) => x.clamp(self.info.min.x, self.info.max.x), + AvailableSpace::Definite(x) => { + // It is possible for the "min content width" to be larger than + // the "max content width" when soft-wrapping right-aligned text + // and possibly other situations. + + x.max(self.info.min.x).min(self.info.max.x) + } AvailableSpace::MinContent => self.info.min.x, AvailableSpace::MaxContent => self.info.max.x, });