Browse Source

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.
Marcus Nilsson 4 năm trước cách đây
mục cha
commit
5a8cc85328
1 tập tin đã thay đổi với 1 bổ sung3 xóa
  1. 1 3
      Userland/Libraries/LibGUI/FileIconProvider.cpp

+ 1 - 3
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()) {