From cb21ff359b109f4ddb5da363de6a5b935ef78424 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 20 Jul 2021 16:44:02 +0200 Subject: [PATCH] Fix checking min engine version for referenced projects too --- Source/Editor/Editor.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/Source/Editor/Editor.cpp b/Source/Editor/Editor.cpp index 158d40d31..f33d27dbe 100644 --- a/Source/Editor/Editor.cpp +++ b/Source/Editor/Editor.cpp @@ -469,15 +469,22 @@ int32 Editor::LoadProduct() } } + HashSet projects; + Project->GetAllProjects(projects); + // Validate project min supported version (older engine may try to load newer project) // Special check if project specifies only build number, then major/minor fields are set to 0 const auto engineVersion = FLAXENGINE_VERSION; - if (Project->MinEngineVersion > engineVersion || - (Project->MinEngineVersion.Major() == 0 && Project->MinEngineVersion.Minor() == 0 && Project->MinEngineVersion.Build() > engineVersion.Build()) - ) + for (auto e : projects) { - Platform::Fatal(String::Format(TEXT("Cannot open project \"{0}\".\nIt requires version {1} but editor has version {2}.\nPlease update the editor."), Project->Name, Project->MinEngineVersion.ToString(), engineVersion.ToString())); - return -2; + const auto project = e.Item; + if (project->MinEngineVersion > engineVersion || + (project->MinEngineVersion.Major() == 0 && project->MinEngineVersion.Minor() == 0 && project->MinEngineVersion.Build() > engineVersion.Build()) + ) + { + Platform::Fatal(String::Format(TEXT("Cannot open project \"{0}\".\nIt requires version {1} but editor has version {2}.\nPlease update the editor."), project->Name, project->MinEngineVersion.ToString(), engineVersion.ToString())); + return -2; + } } return 0; @@ -519,7 +526,7 @@ bool Editor::Init() exit(failed ? 1 : 0); return true; } - + // If during last lightmaps baking engine crashed we could try to restore the progress ShadowsOfMordor::Builder::Instance()->CheckIfRestoreState(); @@ -540,7 +547,7 @@ bool Editor::Init() { Managed->RequestStartPlayOnEditMode(); } - + return false; }