2
0
Эх сурвалжийг харах

Fix infinite loop when calling `Control.popup_centered_minsize()`

Co-authored-by: sriramun <[email protected]>
Hugo Locurcio 3 жил өмнө
parent
commit
08e804b3b7

+ 6 - 0
scene/gui/control.cpp

@@ -206,6 +206,12 @@ void Control::set_custom_minimum_size(const Size2 &p_custom) {
 	if (p_custom == data.custom_minimum_size) {
 	if (p_custom == data.custom_minimum_size) {
 		return;
 		return;
 	}
 	}
+
+	if (isnan(p_custom.x) || isnan(p_custom.y)) {
+		// Prevent infinite loop.
+		return;
+	}
+
 	data.custom_minimum_size = p_custom;
 	data.custom_minimum_size = p_custom;
 	update_minimum_size();
 	update_minimum_size();
 }
 }