On Fri, 2006-05-19 at 00:17 +0200, Jean-Marc Lasgouttes wrote: > >>>>> "Martin" == Martin Vermeer <[EMAIL PROTECTED]> writes: > > Martin> This appears to fix the bug in my limited testing (I couldn't > Martin> reproduce the bug in the test file, only in the enum example) > > Yes, it looks reasonable and it works. Please apply to trunk and > branch. > > Now the next problem (with or without the patch). Load attached file, > select part of 1st par and part of 2nd, Delete ==> crash!
Jean-Marc, I owe you a beer for this one. Or several. Non-virtual ones. See patch (and you will understand why). - Martin
Index: paragraph_pimpl.C =================================================================== --- paragraph_pimpl.C (revision 13826) +++ paragraph_pimpl.C (working copy) @@ -371,10 +371,10 @@ if (tracking()) { Change::Type changetype(changes_->lookup(pos).type); - changes_->record(Change(Change::DELETED), pos); // only allow the actual removal if it was /new/ text if (changetype != Change::INSERTED) { + changes_->record(Change(Change::DELETED), pos); if (pos < size() && owner_->isInset(pos)) owner_->getInset(pos)->markErased(true); return false;
signature.asc
Description: This is a digitally signed message part