# HG changeset patch # User Paper # Date 1762517432 18000 # Node ID a72d6d7b3568cb110f6053b9cb77fa25232668a2 # Parent c3f717b7321bfb90d6f5661143d83c8c92654eba anime_info: don't need to wait on the thread, just disconnect eventually, we can cancel any outgoing requests, but it's kind of unnecessary diff -r c3f717b7321b -r a72d6d7b3568 src/core/anime_db.cc --- a/src/core/anime_db.cc Fri Nov 07 07:09:31 2025 -0500 +++ b/src/core/anime_db.cc Fri Nov 07 07:10:32 2025 -0500 @@ -385,7 +385,10 @@ QImage Database::GetAnimePoster(int id) { /* Creates an anime poster and then saves it to disk - * Sorry this is kind of spaghetti... */ + * Sorry this is kind of spaghetti... + * + * TODO need to do spring cleaning here. For example, we can + * delete posters that haven't been accessed in over a week. */ QImage res; QString posterfile; diff -r c3f717b7321b -r a72d6d7b3568 src/gui/widgets/anime_info.cc --- a/src/gui/widgets/anime_info.cc Fri Nov 07 07:09:31 2025 -0500 +++ b/src/gui/widgets/anime_info.cc Fri Nov 07 07:10:32 2025 -0500 @@ -87,7 +87,6 @@ AnimeInfoWidget::~AnimeInfoWidget() { disconnect(&get_metadata_thread, nullptr, this, nullptr); - get_metadata_thread.wait(); } void AnimeInfoWidget::SetAnime(const Anime::Anime &anime) diff -r c3f717b7321b -r a72d6d7b3568 src/services/kitsu.cc --- a/src/services/kitsu.cc Fri Nov 07 07:09:31 2025 -0500 +++ b/src/services/kitsu.cc Fri Nov 07 07:10:32 2025 -0500 @@ -515,7 +515,7 @@ { /* TODO: the genres should *probably* be a std::optional */ Anime::Anime &anime = Anime::db.items[id]; - if (anime.GetGenres().size() > 0 && anime.GetProducers().size()) + if (anime.GetGenres().size() > 0 && anime.GetProducers().size() > 0) return false; std::optional service_id = anime.GetServiceId(Anime::Service::Kitsu); diff -r c3f717b7321b -r a72d6d7b3568 src/services/services.cc --- a/src/services/services.cc Fri Nov 07 07:09:31 2025 -0500 +++ b/src/services/services.cc Fri Nov 07 07:10:32 2025 -0500 @@ -21,6 +21,12 @@ } } +/* This is specific to Kitsu; by default they don't provide genre + * nor producer info so we grab it only when we need it (i.e. when + * the anime info list is open). + * + * The backend should automatically detect whether this is unnecessary + * and simply return false if it is. */ bool RetrieveAnimeMetadata(int id) { switch (session.config.service) {