diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2018-02-19 14:53:59 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2018-02-19 16:41:43 +0100 |
commit | 7839076f95679c85e7adfdccdd671b2927c82f2f (patch) | |
tree | 355b7740f7f56951c71f1cf275a8f0cd2d717ff0 /editor/project_manager.cpp | |
parent | 4faf81977dc7cf9d160f20151e06cfe5b74454cc (diff) | |
download | redot-engine-7839076f95679c85e7adfdccdd671b2927c82f2f.tar.gz |
Improve error reporting of ProjectSettings::setup()
And use it to better report errors in the console and project manager
when a project.godot file is corrupted.
Fixes #14963.
Diffstat (limited to 'editor/project_manager.cpp')
-rw-r--r-- | editor/project_manager.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index da283b16dc..9c3b09608b 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -304,8 +304,9 @@ private: ProjectSettings *current = memnew(ProjectSettings); - if (current->setup(dir, "")) { - set_message(TTR("Couldn't get project.godot in project path."), MESSAGE_ERROR); + int err = current->setup(dir, ""); + if (err != OK) { + set_message(vformat(TTR("Couldn't load project.godot in project path (error %d). It may be missing or corrupted."), err), MESSAGE_ERROR); } else { ProjectSettings::CustomMap edited_settings; edited_settings["application/config/name"] = project_name->get_text(); @@ -530,8 +531,9 @@ public: ProjectSettings *current = memnew(ProjectSettings); - if (current->setup(project_path->get_text(), "")) { - set_message(TTR("Couldn't get project.godot in the project path."), MESSAGE_ERROR); + int err = current->setup(project_path->get_text(), ""); + if (err != OK) { + set_message(vformat(TTR("Couldn't load project.godot in project path (error %d). It may be missing or corrupted."), err), MESSAGE_ERROR); status_rect->show(); msg->show(); get_ok()->set_disabled(true); |