From f3bb9ea4ed7eb181dc69fb246ba29691c63061ce Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 1 Aug 2013 18:13:14 +0530 Subject: [PATCH] Register cover caches with the db --- src/calibre/gui2/library/alternate_views.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/calibre/gui2/library/alternate_views.py b/src/calibre/gui2/library/alternate_views.py index 19588904a6..479c071784 100644 --- a/src/calibre/gui2/library/alternate_views.py +++ b/src/calibre/gui2/library/alternate_views.py @@ -80,6 +80,9 @@ class CoverCache(dict): with self.lock: self.items.clear() + def __hash__(self): + return id(self) + class CoverDelegate(QStyledItemDelegate): def __init__(self, parent, width, height): @@ -212,6 +215,11 @@ class GridView(QListView): def set_database(self, newdb, stage=0): if stage == 0: self.ignore_render_requests.set() + try: + self.model().db.new_api.remove_cover_cache(self.delegate.cover_cache) + except AttributeError: + pass # db is None + newdb.new_api.add_cover_cache(self.delegate.cover_cache) try: # Use a timeout so that if, for some reason, the render thread # gets stuck, we dont deadlock, future covers wont get