Selaa lähdekoodia

Don't crash when the saved editor state contains fewer viewports than currently supported.

Sebastian Hartte 6 vuotta sitten
vanhempi
commit
7bab7fd777
1 muutettua tiedostoa jossa 6 lisäystä ja 2 poistoa
  1. 6 2
      editor/plugins/spatial_editor_plugin.cpp

+ 6 - 2
editor/plugins/spatial_editor_plugin.cpp

@@ -4170,9 +4170,13 @@ void SpatialEditor::set_state(const Dictionary &p_state) {
 
 	if (d.has("viewports")) {
 		Array vp = d["viewports"];
-		ERR_FAIL_COND(vp.size() > 4);
+		uint32_t vp_size = static_cast<uint32_t>(vp.size());
+		if (vp_size > VIEWPORTS_COUNT) {
+			WARN_PRINT("Ignoring superfluous viewport settings from spatial editor state.")
+			vp_size = VIEWPORTS_COUNT;
+		}
 
-		for (uint32_t i = 0; i < VIEWPORTS_COUNT; i++) {
+		for (uint32_t i = 0; i < vp_size; i++) {
 			viewports[i]->set_state(vp[i]);
 		}
 	}