X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCompare.cpp;h=c2a01a64df8a189b0e85ed73a7877a6cf1823500;hb=ca6fba31fbc44e4b4ed6457b16f3f0d2ee28b7f0;hp=427688024c5a06f8ac1d6f2f25fed34614f736fd;hpb=d750b6610f9104d9a32e6e71d86cc309d913830f;p=lyx.git diff --git a/src/Compare.cpp b/src/Compare.cpp index 427688024c..c2a01a64df 100644 --- a/src/Compare.cpp +++ b/src/Compare.cpp @@ -12,6 +12,7 @@ #include "Compare.h" +#include "Author.h" #include "BufferParams.h" #include "Changes.h" #include "Font.h" @@ -375,10 +376,17 @@ void Compare::run() if (!dest_buffer || !new_buffer || !old_buffer) return; - // Copy the buffer params to the new buffer + // Copy the buffer params to the destination buffer dest_buffer->params() = options_.settings_from_new ? new_buffer->params() : old_buffer->params(); + // Copy extra authors to the destination buffer + AuthorList const & extra_authors = options_.settings_from_new ? + old_buffer->params().authors() : new_buffer->params().authors(); + AuthorList::Authors::const_iterator it = extra_authors.begin(); + for (; it != extra_authors.end(); ++it) + dest_buffer->params().authors().record(*it); + doStatusMessage(); // do the real work @@ -602,7 +610,7 @@ Compare::Impl::SnakeResult Compare::Impl::retrieveMiddleSnake( if (os[k].empty() && os_r[kk].empty()) { // No, there is no snake at all, in which case // the length of the shortest edit script is M+N. - LASSERT(2 * D - odd_offset_ == M_ + N_, /**/); + LATTEST(2 * D - odd_offset_ == M_ + N_); return NoSnake; } @@ -822,7 +830,7 @@ void Compare::Impl::processSnake(DocRangePair const & rp) pit_type const pit = it.o.pit() - rp.o.from.pit(); pos_type const pos = pit ? it.o.pos() : it.o.pos() - rp.o.from.pos(); inset = pars[pit].getInset(pos); - LASSERT(inset, /**/); + LASSERT(inset, continue); diffInset(inset, it); } }