summaryrefslogtreecommitdiffstats
path: root/scene/gui/flow_container.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/flow_container.cpp')
-rw-r--r--scene/gui/flow_container.cpp23
1 files changed, 5 insertions, 18 deletions
diff --git a/scene/gui/flow_container.cpp b/scene/gui/flow_container.cpp
index f8128a9dc6..ceffd9d103 100644
--- a/scene/gui/flow_container.cpp
+++ b/scene/gui/flow_container.cpp
@@ -63,11 +63,8 @@ void FlowContainer::_resort() {
// First pass for line wrapping and minimum size calculation.
for (int i = 0; i < get_child_count(); i++) {
- Control *child = Object::cast_to<Control>(get_child(i));
- if (!child || !child->is_visible()) {
- continue;
- }
- if (child->is_set_as_top_level()) {
+ Control *child = as_sortable_control(get_child(i));
+ if (!child) {
continue;
}
@@ -138,11 +135,8 @@ void FlowContainer::_resort() {
ofs.y = 0;
for (int i = 0; i < get_child_count(); i++) {
- Control *child = Object::cast_to<Control>(get_child(i));
- if (!child || !child->is_visible()) {
- continue;
- }
- if (child->is_set_as_top_level()) {
+ Control *child = as_sortable_control(get_child(i));
+ if (!child) {
continue;
}
Size2i child_size = children_minsize_cache[child];
@@ -256,17 +250,10 @@ Size2 FlowContainer::get_minimum_size() const {
Size2i minimum;
for (int i = 0; i < get_child_count(); i++) {
- Control *c = Object::cast_to<Control>(get_child(i));
+ Control *c = as_sortable_control(get_child(i));
if (!c) {
continue;
}
- if (c->is_set_as_top_level()) {
- continue;
- }
-
- if (!c->is_visible()) {
- continue;
- }
Size2i size = c->get_combined_minimum_size();