Przeglądaj źródła

Fix `ItemList` selection visual when the scrollbar visibility changes

(cherry picked from commit e298144a41338d80b5f0090ce8f28aef888c13dd)
Michael Alexsander 3 lat temu
rodzic
commit
08844b6143
1 zmienionych plików z 4 dodań i 4 usunięć
  1. 4 4
      scene/gui/item_list.cpp

+ 4 - 4
scene/gui/item_list.cpp

@@ -754,11 +754,7 @@ void ItemList::_notification(int p_what) {
 		scroll_bar->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, -bg->get_margin(MARGIN_BOTTOM));
 
 		Size2 size = get_size();
-
 		int width = size.width - bg->get_minimum_size().width;
-		if (scroll_bar->is_visible()) {
-			width -= mw;
-		}
 
 		draw_style_box(bg, Rect2(Point2(), size));
 
@@ -917,6 +913,10 @@ void ItemList::_notification(int p_what) {
 			shape_changed = false;
 		}
 
+		if (scroll_bar->is_visible()) {
+			width -= mw;
+		}
+
 		//ensure_selected_visible needs to be checked before we draw the list.
 		if (ensure_selected_visible && current >= 0 && current < items.size()) {
 			Rect2 r = items[current].rect_cache;