summaryrefslogtreecommitdiffstats
path: root/scene
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-09-02 18:08:07 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-09-02 18:08:07 +0200
commit68a04bbf9aa522d87bd13145611bed1d0102f687 (patch)
tree2a0157fd92e1915d4964a1330368afa2d21887e5 /scene
parent36f95ef3db8c3769373091efb9fa5ffdc7e782e4 (diff)
parentd16dcbb3ac36db1c1e034ffbcf884f3a2a4d8086 (diff)
downloadredot-engine-68a04bbf9aa522d87bd13145611bed1d0102f687.tar.gz
Merge pull request #96142 from timothyqiu/one-signal-to-invalidate-them-all
Fix collapsing `TreeItem` not updating horizontal scrollbar
Diffstat (limited to 'scene')
-rw-r--r--scene/gui/tree.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp
index 5830bea258..10a91c8dfc 100644
--- a/scene/gui/tree.cpp
+++ b/scene/gui/tree.cpp
@@ -4490,9 +4490,16 @@ void Tree::item_edited(int p_column, TreeItem *p_item, MouseButton p_custom_mous
}
void Tree::item_changed(int p_column, TreeItem *p_item) {
- if (p_item != nullptr && p_column >= 0 && p_column < p_item->cells.size()) {
- p_item->cells.write[p_column].dirty = true;
- columns.write[p_column].cached_minimum_width_dirty = true;
+ if (p_item != nullptr) {
+ if (p_column >= 0 && p_column < p_item->cells.size()) {
+ p_item->cells.write[p_column].dirty = true;
+ columns.write[p_column].cached_minimum_width_dirty = true;
+ } else if (p_column == -1) {
+ for (int i = 0; i < p_item->cells.size(); i++) {
+ p_item->cells.write[i].dirty = true;
+ columns.write[i].cached_minimum_width_dirty = true;
+ }
+ }
}
queue_redraw();
}