Explorar o código

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

Co-authored-by: sriramun <[email protected]>
Hugo Locurcio %!s(int64=3) %!d(string=hai) anos
pai
achega
08e804b3b7
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      scene/gui/control.cpp

+ 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) {
 		return;
 	}
+
+	if (isnan(p_custom.x) || isnan(p_custom.y)) {
+		// Prevent infinite loop.
+		return;
+	}
+
 	data.custom_minimum_size = p_custom;
 	update_minimum_size();
 }