From af54be2d01cc02d6e28e57b88965fff3d4f43802 Mon Sep 17 00:00:00 2001 From: Michael Schmitt Date: Thu, 26 Oct 2006 21:06:55 +0000 Subject: [PATCH] change tracking: * src/paragraph_pimpl.C: in method erase(), set the character to DELETED if a) it was previously unchanged or b) it was inserted by a co-author git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15573 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/paragraph_pimpl.C | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/paragraph_pimpl.C b/src/paragraph_pimpl.C index 63f03be183..7e311e5bd6 100644 --- a/src/paragraph_pimpl.C +++ b/src/paragraph_pimpl.C @@ -273,14 +273,19 @@ bool Paragraph::Pimpl::eraseChar(pos_type pos, bool trackChanges) BOOST_ASSERT(pos >= 0 && pos <= size()); if (trackChanges) { - Change::Type changetype(changes_.lookup(pos).type); + Change change = changes_.lookup(pos); - if (changetype == Change::UNCHANGED) { + // set the character to DELETED if + // a) it was previously unchanged or + // b) it was inserted by a co-author + + if (change.type == Change::UNCHANGED || + (change.type == Change::INSERTED && change.author != 0)) { setChange(pos, Change(Change::DELETED)); return false; } - if (changetype == Change::DELETED) + if (change.type == Change::DELETED) return false; }