瀏覽代碼

Fix SCROLL_MODE_RESERVE with RTL layout

kobewi 1 月之前
父節點
當前提交
df70765af0
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      scene/gui/scroll_container.cpp

+ 3 - 2
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();