From 48ebae7812c7dda1bbe39e419e75ba9c0c32eea7 Mon Sep 17 00:00:00 2001 From: clayjohn Date: Fri, 21 Apr 2023 16:51:57 -0700 Subject: [PATCH] Validate renderer selection in project manager and change default renderer editor setting to expose an enum to users --- editor/editor_settings.cpp | 6 +++--- 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 6bc558e72ae9..2cdce158b563 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -756,12 +756,12 @@ void EditorSettings::_load_defaults(Ref 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 e8cea14ce608..4dd2237b4ffd 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") {