From 44cb8eb3a2c0aae7a4c5b1c41d72288b027a23fe Mon Sep 17 00:00:00 2001 From: Gilles Roudiere Date: Sat, 10 Mar 2018 14:01:20 +0100 Subject: Fixes infinite loop in GridContainer --- scene/gui/grid_container.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'scene/gui') diff --git a/scene/gui/grid_container.cpp b/scene/gui/grid_container.cpp index 9aac5137bc..82291382f7 100644 --- a/scene/gui/grid_container.cpp +++ b/scene/gui/grid_container.cpp @@ -88,10 +88,10 @@ void GridContainer::_notification(int p_what) { remaining_space.width -= hsep * (max_col - 1); bool can_fit = false; - while (!can_fit) { + while (!can_fit && col_expanded.size() > 0) { // Check if all minwidth constraints are ok if we use the remaining space can_fit = true; - int max_index = 0; + int max_index = col_expanded.front()->get(); for (Set::Element *E = col_expanded.front(); E; E = E->next()) { if (col_minw[E->get()] > col_minw[max_index]) { max_index = col_minw[E->get()]; @@ -109,10 +109,10 @@ void GridContainer::_notification(int p_what) { } can_fit = false; - while (!can_fit) { + while (!can_fit && row_expanded.size() > 0) { // Check if all minwidth constraints are ok if we use the remaining space can_fit = true; - int max_index = 0; + int max_index = row_expanded.front()->get(); for (Set::Element *E = row_expanded.front(); E; E = E->next()) { if (row_minh[E->get()] > row_minh[max_index]) { max_index = row_minh[E->get()]; -- cgit v1.2.3