diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp index 594276a4287..aa9ecd41425 100644 --- a/scene/gui/item_list.cpp +++ b/scene/gui/item_list.cpp @@ -1260,11 +1260,12 @@ void ItemList::_notification(int p_what) { text_ofs += base_ofs; text_ofs += items[i].rect_cache.position; - if (rtl) { - text_ofs.x = size.width - text_ofs.x - max_len; - } + float text_w = width - text_ofs.x; + items.write[i].text_buf->set_width(text_w); - items.write[i].text_buf->set_width(width - text_ofs.x); + if (rtl) { + text_ofs.x = size.width - width; + } if (rtl) { items.write[i].text_buf->set_alignment(HORIZONTAL_ALIGNMENT_RIGHT);