diff --git a/src/dusk/ui/settings.cpp b/src/dusk/ui/settings.cpp index f425fb5425..7aa70ea860 100644 --- a/src/dusk/ui/settings.cpp +++ b/src/dusk/ui/settings.cpp @@ -220,6 +220,18 @@ AuroraBackend configured_backend() { return configuredBackend; } +bool is_graphics_backend_restart_pending() { + return getSettings().backend.graphicsBackend.getValue() != + prelaunch_state().initialGraphicsBackend; +} + +Rml::String graphics_backend_display_name() { + if (is_graphics_backend_restart_pending()) { + return Rml::String{backend_name(configured_backend())}; + } + return Rml::String{backend_name(aurora_get_backend())}; +} + Rml::String configured_data_path_display_name() { const auto path = data::abbreviated_path_string(data::configured_data_path()); if (path.empty()) { @@ -602,12 +614,8 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) { leftPane.register_control( leftPane.add_select_button({ .key = "Graphics Backend", - .getValue = [] { return Rml::String{backend_name(aurora_get_backend())}; }, - .isModified = - [] { - return getSettings().backend.graphicsBackend.getValue() != - prelaunch_state().initialGraphicsBackend; - }, + .getValue = [] { return graphics_backend_display_name(); }, + .isModified = [] { return is_graphics_backend_restart_pending(); }, }), rightPane, [](Pane& pane) { const auto availableBackends = available_backends();