Fix DLC switch freeze: skip bulk cover scraping for themes/DLC

This commit is contained in:
2026-09-08 23:55:51 -04:00
parent 318a920873
commit e01013ce6a
2 changed files with 10 additions and 4 deletions
+6 -3
View File
@@ -2040,7 +2040,10 @@ class StorePage(QWidget):
p = covers.cover_path(rid, system)
if p.exists() and covers.file_is_image(p):
item.setIcon(QIcon(_fit_pixmap(QPixmap(str(p)), self.ICON_W, self.ICON_H)))
elif rid not in self._cover_attempted:
elif system not in ("theme", "dlc") and rid not in self._cover_attempted:
# Themes and DLC have no meaningful box art in libretro/IGDB, and
# bulk-scraping hundreds of them on every switch to the DLC list
# saturates the network/CPU and makes the store unresponsive.
self._cover_attempted.add(rid)
self._cover_queue.append((row, {
"name": covers.plain_title(it["name"]) or it["name"],
@@ -2287,9 +2290,9 @@ class StorePage(QWidget):
meta = dlg.selected_meta
if meta:
title = meta.get("title") or None
info.save(str(rid), "games", meta, manual=True, title=title)
info.save(str(rid), system, meta, manual=True, title=title)
it["title_override"] = title or None
self._refresh_item_cover(it, rid, "games")
self._refresh_item_cover(it, rid, system)
def _refresh_item_cover(self, it, rid, system):
p = covers.cover_path(rid, system)