From 821bdfbc8d3ff21bd01043dde67c3bda481b6525 Mon Sep 17 00:00:00 2001 From: Enrico Forestieri Date: Thu, 30 Aug 2007 14:50:12 +0000 Subject: [PATCH] Save the right timestamp and checksum of an opened file. * src/Buffer.cpp (Buffer::readFile): save timestamp and checksum of the original disk file, and not those of the file converted to current format. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19916 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/Buffer.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Buffer.cpp b/src/Buffer.cpp index f363d1c40e..267da451ec 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -704,6 +704,14 @@ Buffer::ReadStatus Buffer::readFile(Lexer & lex, FileName const & filename, int const file_format = convert(tmp_format); //lyxerr << "format: " << file_format << endl; + // save timestamp and checksum of the original disk file, making sure + // to not overwrite them with those of the file created in the tempdir + // when it has to be converted to the current format. + if (!pimpl_->checksum_) { + pimpl_->timestamp_ = fs::last_write_time(filename.toFilesystemEncoding()); + pimpl_->checksum_ = sum(filename); + } + if (file_format != LYX_FORMAT) { if (fromstring) @@ -770,9 +778,6 @@ Buffer::ReadStatus Buffer::readFile(Lexer & lex, FileName const & filename, //MacroTable::localMacros().clear(); pimpl_->file_fully_loaded = true; - // save the timestamp and checksum of disk file - pimpl_->timestamp_ = fs::last_write_time(filename.toFilesystemEncoding()); - pimpl_->checksum_ = sum(filename); return success; }