Browse Source

Merge pull request #66210 from Rindbee/fix-font-string-size

Let the cached `TextLine` reset the width in `get_string_size`
Rémi Verschelde 2 years ago
parent
commit
dd3f3f6717
1 changed files with 7 additions and 5 deletions
  1. 7 5
      scene/resources/font.cpp

+ 7 - 5
scene/resources/font.cpp

@@ -272,13 +272,15 @@ Size2 Font::get_string_size(const String &p_text, HorizontalAlignment p_alignmen
 		buffer->set_direction(p_direction);
 		buffer->set_direction(p_direction);
 		buffer->set_orientation(p_orientation);
 		buffer->set_orientation(p_orientation);
 		buffer->add_string(p_text, Ref<Font>(this), p_font_size);
 		buffer->add_string(p_text, Ref<Font>(this), p_font_size);
-		if (p_alignment == HORIZONTAL_ALIGNMENT_FILL) {
-			buffer->set_horizontal_alignment(p_alignment);
-			buffer->set_width(p_width);
-			buffer->set_flags(p_jst_flags);
-		}
 		cache.insert(hash, buffer);
 		cache.insert(hash, buffer);
 	}
 	}
+
+	buffer->set_width(p_width);
+	buffer->set_horizontal_alignment(p_alignment);
+	if (p_alignment == HORIZONTAL_ALIGNMENT_FILL) {
+		buffer->set_flags(p_jst_flags);
+	}
+
 	return buffer->get_size();
 	return buffer->get_size();
 }
 }