diff --git a/YACReaderLibrary/db_helper.cpp b/YACReaderLibrary/db_helper.cpp index 1323abad..d7f77c26 100644 --- a/YACReaderLibrary/db_helper.cpp +++ b/YACReaderLibrary/db_helper.cpp @@ -745,33 +745,27 @@ void DBHelper::propagateFolderUpdatesToParent(const Folder &folder, QSqlDatabase Folder DBHelper::updateChildrenInfo(qulonglong folderId, QSqlDatabase &db) { auto folder = loadFolder(folderId, db); - QList subitems; - QList subfolders = DBHelper::getFoldersFromParent(folderId, db, false); - QList comics = DBHelper::getComicsFromParent(folderId, db, false); + QList subfolders = DBHelper::getFoldersFromParent(folderId, db, true); + QList comics = DBHelper::getComicsFromParent(folderId, db, true); QList updatedSubfolders; for (auto sf : subfolders) { updatedSubfolders.append(new Folder(updateChildrenInfo(static_cast(sf)->id, db))); } - subitems.append(updatedSubfolders); - subitems.append(comics); - - std::sort(subitems.begin(), subitems.end(), naturalSortLessThanCILibraryItem); - QString coverHash = ""; - for (auto item : subitems) { - if (item->isDir()) { + + if (!comics.isEmpty()) { + auto c = static_cast(comics[0]); + coverHash = c->info.hash; + } else { + for (auto item : subfolders) { auto f = static_cast(item); auto firstChildHash = f->getFirstChildHash(); if (!firstChildHash.isEmpty()) { coverHash = firstChildHash; break; } - } else { - auto c = static_cast(item); - coverHash = c->info.hash; - break; } }