From 5a8cc8532887dd933c61dfe34262e29d1ac4f40b Mon Sep 17 00:00:00 2001 From: Marcus Nilsson Date: Thu, 3 Jun 2021 13:47:59 +0200 Subject: [PATCH] LibGUI/FileIconProvider: Return s_file_icon when stat() fails Previously when using icon_for_path(), without specifying t_mode, on an anonymous file it would return an empty Icon causing problems down the line. Instead return the s_file_icon when stat fails. --- Userland/Libraries/LibGUI/FileIconProvider.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Userland/Libraries/LibGUI/FileIconProvider.cpp b/Userland/Libraries/LibGUI/FileIconProvider.cpp index bff9ed0b10..7ac35eb851 100644 --- a/Userland/Libraries/LibGUI/FileIconProvider.cpp +++ b/Userland/Libraries/LibGUI/FileIconProvider.cpp @@ -122,7 +122,7 @@ Icon FileIconProvider::icon_for_path(const String& path) { struct stat stat; if (::stat(path.characters(), &stat) < 0) - return {}; + return s_file_icon; return icon_for_path(path, stat.st_mode); } @@ -225,8 +225,6 @@ Icon FileIconProvider::icon_for_path(const String& path, mode_t mode) target_path = Core::File::real_path_for(String::formatted("{}/{}", LexicalPath(path).dirname(), raw_symlink_target)); } auto target_icon = icon_for_path(target_path); - if (target_icon.sizes().is_empty()) - return s_symlink_icon; Icon generated_icon; for (auto size : target_icon.sizes()) {