From ae20a2f7499db1edef76a9b1103560ad206e215f Mon Sep 17 00:00:00 2001 From: Face <69168154+face-hh@users.noreply.github.com> Date: Sun, 10 Aug 2025 15:37:33 +0300 Subject: [PATCH] fix flex-wrap not working due to AutoSizing --- flumi/Scripts/AutoSizingFlexContainer.gd | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/flumi/Scripts/AutoSizingFlexContainer.gd b/flumi/Scripts/AutoSizingFlexContainer.gd index bcb4619..f49c34d 100644 --- a/flumi/Scripts/AutoSizingFlexContainer.gd +++ b/flumi/Scripts/AutoSizingFlexContainer.gd @@ -88,6 +88,8 @@ func _resort() -> void: if not auto_size_width: available_width = calculate_available_dimension(true) + elif flex_wrap == FlexContainer.FlexWrap.Wrap: + available_width = get_parent_or_fallback_size(true) if not auto_size_height: available_height = calculate_available_dimension(false) @@ -115,7 +117,15 @@ func _resort() -> void: # Construct the new minimum size for this container var new_min_size = custom_minimum_size if auto_size_width: - new_min_size.x = needed_size.x + # If flex wrap is enabled, constrain width to parent's available space + if flex_wrap == FlexContainer.FlexWrap.Wrap: + var parent_width = get_parent_or_fallback_size(true) + if not is_nan(parent_width) and parent_width > 0: + new_min_size.x = min(needed_size.x, parent_width) + else: + new_min_size.x = needed_size.x + else: + new_min_size.x = needed_size.x else: # For w-full, ensure minimum size matches the needed size new_min_size.x = needed_size.x