diff --git a/scene/gui/scroll_container.cpp b/scene/gui/scroll_container.cpp index aebd79cf7ee..94261318c91 100644 --- a/scene/gui/scroll_container.cpp +++ b/scene/gui/scroll_container.cpp @@ -364,12 +364,13 @@ void ScrollContainer::_reposition_children() { } bool rtl = is_layout_rtl(); + bool reserve_vscroll = _is_v_scroll_visible() || vertical_scroll_mode == SCROLL_MODE_RESERVE; if (_is_h_scroll_visible() || horizontal_scroll_mode == SCROLL_MODE_RESERVE) { size.y -= h_scroll->get_minimum_size().y; } - if (_is_v_scroll_visible() || vertical_scroll_mode == SCROLL_MODE_RESERVE) { + if (reserve_vscroll) { size.x -= v_scroll->get_minimum_size().x; } @@ -391,7 +392,7 @@ void ScrollContainer::_reposition_children() { r.size.height = MAX(size.height, minsize.height); } r.position += ofs; - if (rtl && _is_v_scroll_visible()) { + if (rtl && reserve_vscroll) { r.position.x += v_scroll->get_minimum_size().x; } r.position = r.position.floor();