diff options
author | Michael Alexsander Silva Dias <michaelalexsander@protonmail.com> | 2019-04-20 18:22:37 -0300 |
---|---|---|
committer | Michael Alexsander Silva Dias <michaelalexsander@protonmail.com> | 2019-04-20 18:22:37 -0300 |
commit | d84acb98d0863ec142a9496bd229e7163deaefe8 (patch) | |
tree | a6acdacc2f4804e79e817e1caa7365c98ff1c22d | |
parent | 175942dcd10a0dc2e35c4e52992404c5c974c45f (diff) |
Fix 'LineEdit' contents not ending before the clear button if no right icon was set
Fixes #28242.
-rw-r--r-- | scene/gui/line_edit.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index 0c5dc39273..e83ef95db6 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -1159,8 +1159,10 @@ void LineEdit::set_cursor_position(int p_pos) { } else if (cursor_pos > window_pos) { /* Adjust window if cursor goes too much to the right */ int window_width = get_size().width - style->get_minimum_size().width; - if (right_icon.is_valid()) { - window_width -= right_icon->get_width(); + bool display_clear_icon = !text.empty() && is_editable() && clear_button_enabled; + if (right_icon.is_valid() || display_clear_icon) { + Ref<Texture> r_icon = display_clear_icon ? Control::get_icon("clear") : right_icon; + window_width -= r_icon->get_width(); } if (window_width < 0) |