mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 10:00:33 +00:00
Do not kill the undo stack when doing a Save As...
The code does a reload on the buffer to avoid loose pointers if the file changes directory. This commit adds a bool parameter to Buffer::reload to allow for keeping the undo stack intact. This is of couse only wanted in this case, not when reloading an earlier version of the file.
This commit is contained in:
parent
6ec1683aee
commit
467422f9df
@ -4580,7 +4580,7 @@ int Buffer::charCount(bool with_blanks) const
|
||||
}
|
||||
|
||||
|
||||
Buffer::ReadStatus Buffer::reload()
|
||||
Buffer::ReadStatus Buffer::reload(bool clearUndo)
|
||||
{
|
||||
setBusy(true);
|
||||
// c.f. bug http://www.lyx.org/trac/ticket/6587
|
||||
@ -4598,7 +4598,8 @@ Buffer::ReadStatus Buffer::reload()
|
||||
updateTitles();
|
||||
markClean();
|
||||
message(bformat(_("Document %1$s reloaded."), disp_fn));
|
||||
d->undo_.clear();
|
||||
if (clearUndo)
|
||||
d->undo_.clear();
|
||||
} else {
|
||||
message(bformat(_("Could not reload document %1$s."), disp_fn));
|
||||
}
|
||||
|
@ -225,7 +225,8 @@ public:
|
||||
/// read a new document from a string
|
||||
bool readString(std::string const &);
|
||||
/// Reloads the LyX file
|
||||
ReadStatus reload();
|
||||
/// \param clearUndo if false, leave alone the undo stack.
|
||||
ReadStatus reload(bool clearUndo = true);
|
||||
//FIXME: The following function should be private
|
||||
//private:
|
||||
/// read the header, returns number of unknown tokens
|
||||
|
@ -2320,7 +2320,7 @@ bool GuiView::renameBuffer(Buffer & b, docstring const & newname)
|
||||
|
||||
bool const saved = saveBuffer(b, fname);
|
||||
if (saved)
|
||||
b.reload();
|
||||
b.reload(false);
|
||||
return saved;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user