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 &);
 

Reply via email to