diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-04-22 13:20:21 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-04-22 13:20:21 +0200 |
commit | 24cb43a8741c7b10abbbbc77bb6e2bc188662ce0 (patch) | |
tree | de84f7758ae61ae743608ccfb6b31dc06c1b0b58 | |
parent | 220d44eff40209531eb97160846b59c8264fda88 (diff) | |
parent | 48ebae7812c7dda1bbe39e419e75ba9c0c32eea7 (diff) | |
download | redot-engine-24cb43a8741c7b10abbbbc77bb6e2bc188662ce0.tar.gz |
Merge pull request #76331 from clayjohn/PM-crash
Validate renderer selection in project manager and change default renderer editor setting to expose an enum to users
-rw-r--r-- | editor/editor_settings.cpp | 6 | ||||
-rw-r--r-- | editor/project_manager.cpp | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 6bc558e72a..2cdce158b5 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -756,12 +756,12 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { #if defined(WEB_ENABLED) // Web platform only supports `gl_compatibility`. - EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_NONE, "project_manager/default_renderer", "gl_compatibility", "forward_plus,mobile,gl_compatibility") + EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_ENUM, "project_manager/default_renderer", "gl_compatibility", "forward_plus,mobile,gl_compatibility") #elif defined(ANDROID_ENABLED) // Use more suitable rendering method by default. - EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_NONE, "project_manager/default_renderer", "mobile", "forward_plus,mobile,gl_compatibility") + EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_ENUM, "project_manager/default_renderer", "mobile", "forward_plus,mobile,gl_compatibility") #else - EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_NONE, "project_manager/default_renderer", "forward_plus", "forward_plus,mobile,gl_compatibility") + EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_ENUM, "project_manager/default_renderer", "forward_plus", "forward_plus,mobile,gl_compatibility") #endif if (p_extra_config.is_valid()) { diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index e8cea14ce6..4dd2237b4f 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -387,6 +387,8 @@ void ProjectDialog::_nonempty_confirmation_ok_pressed() { } void ProjectDialog::_renderer_selected() { + ERR_FAIL_COND(!renderer_button_group->get_pressed_button()); + String renderer_type = renderer_button_group->get_pressed_button()->get_meta(SNAME("rendering_method")); if (renderer_type == "forward_plus") { |