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

(cherry picked from commit 7bab7fd777)
This commit is contained in:
Sebastian Hartte 2019-03-12 03:17:30 +01:00 committed by Rémi Verschelde
parent 4023d52399
commit d060cd4fef
1 changed files with 6 additions and 2 deletions

View File

@ -4170,9 +4170,13 @@ void SpatialEditor::set_state(const Dictionary &p_state) {
if (d.has("viewports")) { if (d.has("viewports")) {
Array vp = d["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]); viewports[i]->set_state(vp[i]);
} }
} }