From dfbc2839b4d49ec9101e1f1ec2b25a8913510c3e Mon Sep 17 00:00:00 2001 From: Edwin Rijkee Date: Thu, 27 Jul 2023 16:26:34 +0200 Subject: [PATCH] DisplaySettings: Handle case where there is no DPI value DisplaySettings uses the optional `screen_dpi` value before checking if it is set, causing an assertion failure. This change moves the usage into the block where it is known to be set. One situation where this is known to occur is on real hardware when using the MULTIBOOT_VIDEO_MODE multiboot flag to enable graphical display output. --- .../Applications/DisplaySettings/MonitorSettingsWidget.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp index 4fd0219d8c..eb8e63df19 100644 --- a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp +++ b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp @@ -214,10 +214,10 @@ ErrorOr MonitorSettingsWidget::selected_screen_index_or_resolution_changed } } - auto dpi_label_value = String::formatted("{} dpi", screen_dpi.value()); - if (screen_dpi.has_value() && !dpi_label_value.is_error()) { + if (screen_dpi.has_value()) { + auto dpi_label_value = TRY(String::formatted("{} dpi", screen_dpi.value())); m_dpi_label->set_tooltip(screen_dpi_tooltip.to_deprecated_string()); - m_dpi_label->set_text(dpi_label_value.release_value()); + m_dpi_label->set_text(move(dpi_label_value)); m_dpi_label->set_visible(true); } else { m_dpi_label->set_visible(false);