Merge pull request #91780 from Riteo/falling-with-style
Improve UX when falling back between Display Servers
This commit is contained in:
commit
8eff04192b
3 changed files with 101 additions and 38 deletions
|
|
@ -2903,6 +2903,8 @@ Error Main::setup2(bool p_show_boot_logo) {
|
|||
Error err;
|
||||
display_server = DisplayServer::create(display_driver_idx, rendering_driver, window_mode, window_vsync_mode, window_flags, window_position, window_size, init_screen, context, err);
|
||||
if (err != OK || display_server == nullptr) {
|
||||
String last_name = DisplayServer::get_create_function_name(display_driver_idx);
|
||||
|
||||
// We can't use this display server, try other ones as fallback.
|
||||
// Skip headless (always last registered) because that's not what users
|
||||
// would expect if they didn't request it explicitly.
|
||||
|
|
@ -2910,6 +2912,9 @@ Error Main::setup2(bool p_show_boot_logo) {
|
|||
if (i == display_driver_idx) {
|
||||
continue; // Don't try the same twice.
|
||||
}
|
||||
String name = DisplayServer::get_create_function_name(i);
|
||||
WARN_PRINT(vformat("Display driver %s failed, falling back to %s.", last_name, name));
|
||||
|
||||
display_server = DisplayServer::create(i, rendering_driver, window_mode, window_vsync_mode, window_flags, window_position, window_size, init_screen, context, err);
|
||||
if (err == OK && display_server != nullptr) {
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue