From bcf619955b11d84c18d759e77299640fcfcce06d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 30 Oct 2014 09:27:48 +0530 Subject: [PATCH] E-book viewer: Clear history when reloading the book, to avoid errors, since the locations pointed to by the history may no longer be valid anyway --- src/calibre/gui2/viewer/main.py | 1 + src/calibre/gui2/viewer/ui.py | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index 31b7aef20f..cd19c2c28a 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -955,6 +955,7 @@ class EbookViewer(MainWindow): reopen_at = self.current_page_bookmark except Exception: reopen_at = None + self.history.clear() self.load_ebook(self.iterator.pathtoebook, reopen_at=reopen_at) return diff --git a/src/calibre/gui2/viewer/ui.py b/src/calibre/gui2/viewer/ui.py index 0066f25411..9683dd9f07 100644 --- a/src/calibre/gui2/viewer/ui.py +++ b/src/calibre/gui2/viewer/ui.py @@ -106,14 +106,15 @@ class History(list): # {{{ self.action_back = action_back self.action_forward = action_forward super(History, self).__init__(self) + self.clear() + + def clear(self): + del self[:] self.insert_pos = 0 self.back_pos = None self.forward_pos = None self.set_actions() - def clear(self): - del self[:] - def set_actions(self): if self.action_back is not None: self.action_back.setDisabled(self.back_pos is None)