diff options
Diffstat (limited to 'scene/gui/label.cpp')
-rw-r--r-- | scene/gui/label.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/scene/gui/label.cpp b/scene/gui/label.cpp index 1b48b9165d..aec9722fec 100644 --- a/scene/gui/label.cpp +++ b/scene/gui/label.cpp @@ -31,7 +31,6 @@ #include "label.h" #include "core/config/project_settings.h" -#include "core/core_string_names.h" #include "core/string/print_string.h" #include "core/string/translation.h" @@ -300,9 +299,9 @@ void Label::_update_visible() { int last_line = MIN(lines_rid.size(), lines_visible + lines_skipped); for (int64_t i = lines_skipped; i < last_line; i++) { minsize.height += TS->shaped_text_get_size(lines_rid[i]).y + line_spacing; - if (minsize.height > (get_size().height - style->get_minimum_size().height + line_spacing)) { - break; - } + } + if (minsize.height > 0) { + minsize.height -= line_spacing; } } @@ -784,11 +783,11 @@ void Label::_invalidate() { void Label::set_label_settings(const Ref<LabelSettings> &p_settings) { if (settings != p_settings) { if (settings.is_valid()) { - settings->disconnect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Label::_invalidate)); + settings->disconnect_changed(callable_mp(this, &Label::_invalidate)); } settings = p_settings; if (settings.is_valid()) { - settings->connect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Label::_invalidate), CONNECT_REFERENCE_COUNTED); + settings->connect_changed(callable_mp(this, &Label::_invalidate), CONNECT_REFERENCE_COUNTED); } _invalidate(); } |