From ff09475cac1e337fb8f19c6e7e358a8ec54c6cc4 Mon Sep 17 00:00:00 2001 From: loathingKernel <142770+loathingKernel@users.noreply.github.com> Date: Tue, 21 Jun 2022 01:04:58 +0300 Subject: [PATCH] ImageManager: Handle broken image.cache --- rare/shared/image_manager.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/rare/shared/image_manager.py b/rare/shared/image_manager.py index 88be2145..ac986b7d 100644 --- a/rare/shared/image_manager.py +++ b/rare/shared/image_manager.py @@ -285,9 +285,13 @@ class ImageManager(QObject): def __decompress(self, game: Game) -> Dict: archive = open(self.__img_cache(game.app_name), "rb") - data = zlib.decompress(archive.read()) - archive.close() - data = pickle.loads(data) + try: + data = zlib.decompress(archive.read()) + data = pickle.loads(data) + except zlib.error: + data = dict(zip(self.__img_types, [None] * len(self.__img_types))) + finally: + archive.close() return data def download_image(