From 184983d8577dce142e869e9647e346f41737d61f Mon Sep 17 00:00:00 2001 From: dijunkun Date: Sun, 27 Apr 2025 18:46:45 +0800 Subject: [PATCH] [fix] fix FindThumbnailPath() --- src/single_window/thumbnail.cpp | 19 ++++++------------- src/single_window/thumbnail.h | 1 - 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/src/single_window/thumbnail.cpp b/src/single_window/thumbnail.cpp index 6fccbd9..edc9329 100644 --- a/src/single_window/thumbnail.cpp +++ b/src/single_window/thumbnail.cpp @@ -225,24 +225,17 @@ std::vector Thumbnail::FindThumbnailPath( return thumbnails_path; } - thumbnails_sorted_by_write_time_.clear(); - for (const auto& entry : std::filesystem::directory_iterator(directory)) { if (entry.is_regular_file()) { - std::time_t last_write_time = std::chrono::system_clock::to_time_t( - time_point_cast( - entry.last_write_time() - - std::filesystem::file_time_type::clock::now() + - std::chrono::system_clock::now())); - - thumbnails_sorted_by_write_time_[last_write_time] = entry.path(); + thumbnails_path.push_back(entry.path()); } } - for (auto it = thumbnails_sorted_by_write_time_.rbegin(); - it != thumbnails_sorted_by_write_time_.rend(); ++it) { - thumbnails_path.push_back(it->second); - } + std::sort(thumbnails_path.begin(), thumbnails_path.end(), + [](const std::filesystem::path& a, const std::filesystem::path& b) { + return std::filesystem::last_write_time(a) > + std::filesystem::last_write_time(b); + }); return thumbnails_path; } diff --git a/src/single_window/thumbnail.h b/src/single_window/thumbnail.h index c5e7528..44d43d0 100644 --- a/src/single_window/thumbnail.h +++ b/src/single_window/thumbnail.h @@ -72,7 +72,6 @@ class Thumbnail { int thumbnail_height_ = 90; char* rgba_buffer_ = nullptr; std::string image_path_ = "thumbnails/"; - std::map thumbnails_sorted_by_write_time_; unsigned char aes128_key_[16]; unsigned char aes128_iv_[16];