diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index a2555cfc56..ef251a884a 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -156,6 +156,8 @@ class BooksModel(QAbstractTableModel): # {{{ self.cover_cache.stop() self.cover_cache = CoverCache(db, FunctionDispatcher(self.db.cover)) self.cover_cache.start() + if self.metadata_backup is not None: + self.metadata_backup.stop() self.metadata_backup = MetadataBackup(db) self.metadata_backup.start() def refresh_cover(event, ids): diff --git a/src/calibre/library/caches.py b/src/calibre/library/caches.py index bc16681f81..8d449974a5 100644 --- a/src/calibre/library/caches.py +++ b/src/calibre/library/caches.py @@ -43,7 +43,7 @@ class MetadataBackup(Thread): # {{{ def run(self): while self.keep_running: try: - id_ = self.db.dirtied_queue.get() + id_ = self.db.dirtied_queue.get(True, 2) except Empty: continue except: @@ -122,7 +122,7 @@ class CoverCache(Thread): # {{{ def run(self): while self.keep_running: try: - id_ = self.load_queue.get() + id_ = self.load_queue.get(True, 2) except Empty: continue except: