Author: younes
Date: Sun Jan 9 18:55:16 2011
New Revision: 37155
URL: http://www.lyx.org/trac/changeset/37155
Log:
Clear undo/redo stack when reloading buffer. This fixes #7208.
Modified:
lyx-devel/trunk/src/Buffer.cpp
lyx-devel/trunk/src/Undo.cpp
lyx-devel/trunk/src/Undo.h
Modified: lyx-devel/trunk/src/Buffer.cpp
==============================================================================
--- lyx-devel/trunk/src/Buffer.cpp Sun Jan 9 01:55:40 2011 (r37154)
+++ lyx-devel/trunk/src/Buffer.cpp Sun Jan 9 18:55:16 2011 (r37155)
@@ -4250,6 +4250,7 @@
updateTitles();
markClean();
message(bformat(_("Document %1$s reloaded."), disp_fn));
+ d->undo_.clear();
} else {
message(bformat(_("Could not reload document %1$s."), disp_fn));
}
Modified: lyx-devel/trunk/src/Undo.cpp
==============================================================================
--- lyx-devel/trunk/src/Undo.cpp Sun Jan 9 01:55:40 2011 (r37154)
+++ lyx-devel/trunk/src/Undo.cpp Sun Jan 9 18:55:16 2011 (r37155)
@@ -241,6 +241,16 @@
}
+void Undo::clear()
+{
+ d->undostack_.clear();
+ d->redostack_.clear();
+ d->undo_finished_ = true;
+ d->group_id = 0;
+ d->group_level;
+}
+
+
bool Undo::hasUndoStack() const
{
return !d->undostack_.empty();
Modified: lyx-devel/trunk/src/Undo.h
==============================================================================
--- lyx-devel/trunk/src/Undo.h Sun Jan 9 01:55:40 2011 (r37154)
+++ lyx-devel/trunk/src/Undo.h Sun Jan 9 18:55:16 2011 (r37155)
@@ -53,6 +53,9 @@
~Undo();
+ /// Clear out all undo/redo contents.
+ void clear();
+
/// this will undo the last action - returns false if no undo possible
bool textUndo(DocIterator &);