From 99308e0f86bc94c6c71af07fd4142b964fb9e83c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 2 Feb 2014 12:33:42 +0530 Subject: [PATCH] When rewinding checkpoints preserve the message --- src/calibre/gui2/tweak_book/undo.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/tweak_book/undo.py b/src/calibre/gui2/tweak_book/undo.py index 5df107cdfe..191c019346 100644 --- a/src/calibre/gui2/tweak_book/undo.py +++ b/src/calibre/gui2/tweak_book/undo.py @@ -30,6 +30,7 @@ class State(object): def __init__(self, container): self.container = container self.message = None + self.rewind_message = None class GlobalUndoHistory(QAbstractListModel): @@ -82,6 +83,7 @@ class GlobalUndoHistory(QAbstractListModel): def add_savepoint(self, new_container, message): try: + self.states[self.pos].rewind_message = self.states[self.pos].message self.states[self.pos].message = message except IndexError: raise IndexError('The checkpoint stack has an incorrect position pointer. This should never happen: self.pos = %r, len(self.states) = %r' % ( @@ -118,7 +120,7 @@ class GlobalUndoHistory(QAbstractListModel): self.endRemoveRows() self.dataChanged.emit(self.index(self.pos), self.index(self.pos)) ans = self.current_container - ans.message = None + self.states[self.pos].message = self.states[self.pos].rewind_message return ans def undo(self):