From 0f98b3244805d61ef9edcfa4671ab77c1c5167a7 Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Tue, 24 Sep 2024 09:55:48 +0800 Subject: [PATCH] Fix button text autowrap overflow when inside a container --- scene/gui/button.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scene/gui/button.cpp b/scene/gui/button.cpp index dd344121e1a..0a5f2ec6c74 100644 --- a/scene/gui/button.cpp +++ b/scene/gui/button.cpp @@ -30,9 +30,7 @@ #include "button.h" -#include "core/string/translation.h" #include "scene/theme/theme_db.h" -#include "servers/rendering_server.h" Size2 Button::get_minimum_size() const { Ref _icon = icon; @@ -437,6 +435,9 @@ void Button::_notification(int p_what) { text_buf->set_alignment(align_rtl_checked); float text_buf_width = Math::ceil(MAX(1.0f, drawable_size_remained.width)); // The space's width filled by the text_buf. + if (autowrap_mode != TextServer::AUTOWRAP_OFF && !Math::is_equal_approx(text_buf_width, text_buf->get_width())) { + update_minimum_size(); + } text_buf->set_width(text_buf_width); Point2 text_ofs;