From bfabb2c4926b322958dd2a1636908b77824ad3c7 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 21 Sep 2014 17:39:25 +0530 Subject: [PATCH] Fix #1367992 [Losing History in the eBook Viewer](https://bugs.launchpad.net/calibre/+bug/1367992) --- src/calibre/gui2/viewer/ui.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/calibre/gui2/viewer/ui.py b/src/calibre/gui2/viewer/ui.py index 68266f1e07..a6dc0ae63a 100644 --- a/src/calibre/gui2/viewer/ui.py +++ b/src/calibre/gui2/viewer/ui.py @@ -145,7 +145,7 @@ class History(list): # {{{ self.back_pos = self.forward_pos - 1 if self.back_pos < 0: self.back_pos = None - self.insert_pos = self.back_pos or 0 + self.insert_pos = min(len(self) - 1, (self.back_pos or 0) + 1) self.forward_pos = None if self.forward_pos > len(self) - 2 else self.forward_pos + 1 self.set_actions() return item @@ -171,13 +171,11 @@ def test_history(): h = History() for i in xrange(4): h.add(i) - for i in reversed(xrange(4)): + for i in reversed(h): h.back(i) - print (h) h.forward(0) - print (h) - h.add(1) - print (h) + h.add(9) + assert h == [0, 9] # }}} class Main(MainWindow):