From 9fe0def69b3b251e662f2abb870ebe71ef4e72fa Mon Sep 17 00:00:00 2001 From: Hediadyoin1 Date: Mon, 13 Jun 2022 17:09:40 +0200 Subject: [PATCH] LibGfx: Use less allocations in highdpi_icon_[path,string] creation Also make it fallible. --- Userland/Libraries/LibGfx/Bitmap.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Userland/Libraries/LibGfx/Bitmap.cpp b/Userland/Libraries/LibGfx/Bitmap.cpp index 1e417d3ff8..f8a8c77c2a 100644 --- a/Userland/Libraries/LibGfx/Bitmap.cpp +++ b/Userland/Libraries/LibGfx/Bitmap.cpp @@ -107,13 +107,9 @@ ErrorOr> Bitmap::try_load_from_file(StringView path, int s if (scale_factor > 1 && path.starts_with("/res/")) { LexicalPath lexical_path { path }; StringBuilder highdpi_icon_path; - highdpi_icon_path.append(lexical_path.dirname()); - highdpi_icon_path.append('/'); - highdpi_icon_path.append(lexical_path.title()); - highdpi_icon_path.appendff("-{}x.", scale_factor); - highdpi_icon_path.append(lexical_path.extension()); + TRY(highdpi_icon_path.try_appendff("{}/{}-{}x.{}", lexical_path.dirname(), lexical_path.title(), scale_factor, lexical_path.extension())); - auto highdpi_icon_string = highdpi_icon_path.to_string(); + auto highdpi_icon_string = highdpi_icon_path.string_view(); auto fd = TRY(Core::System::open(highdpi_icon_string, O_RDONLY)); auto bitmap = TRY(try_load_from_fd_and_close(fd, highdpi_icon_string));