diff options
author | Riteo <riteo@posteo.net> | 2024-05-10 01:44:57 +0200 |
---|---|---|
committer | Riteo <riteo@posteo.net> | 2024-08-21 06:31:19 +0200 |
commit | 56eb272e9078bb11486ef38c35bdc05a5636341f (patch) | |
tree | 298a74cca1ae7938cf3124753a7c8f83744294c9 | |
parent | 62de80d6138c09cb2c4c66d0b963820f95ad1f21 (diff) | |
download | redot-engine-56eb272e9078bb11486ef38c35bdc05a5636341f.tar.gz |
Warn when falling back to another DisplayServer
Before it was a bit unclear on what was happening, since a display
server has to fail to fall back and so the user would be left with an
error _and_ a (hopefully) running game.
Should make the experience more pleasant on Linux/BSD now that we have
two display servers.
-rw-r--r-- | main/main.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/main/main.cpp b/main/main.cpp index f82df786bc..51b4efa6bc 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -2838,6 +2838,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. @@ -2845,6 +2847,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; |