summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorMichael Alexsander Silva Dias <michaelalexsander@protonmail.com>2019-04-20 18:22:37 -0300
committerMichael Alexsander Silva Dias <michaelalexsander@protonmail.com>2019-04-20 18:22:37 -0300
commitd84acb98d0863ec142a9496bd229e7163deaefe8 (patch)
treea6acdacc2f4804e79e817e1caa7365c98ff1c22d /scene/gui
parent175942dcd10a0dc2e35c4e52992404c5c974c45f (diff)
Fix 'LineEdit' contents not ending before the clear button if no right icon was set
Fixes #28242.
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/line_edit.cpp6
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)