Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


I gone deeper in this issue, and it not depends on Track changes Show/Hide.
Undo has RedlinesGuard, which sets show/hide to value, that been when Undo action created. So Undo 
works fine and I not going to purge Undo stack.

I think the problem is created by sw::DocumentRedlineManager::CompressRedlines 
(https://opengrok.libreoffice.org/xref/core/sw/source/core/doc/DocumentRedlineManager.cxx#1792). As 
name states it compress redlines (merges two neighbor redlines if they have same author, type, 
second redline starts where first ends second.mark==first.point and so on). During compression it 
modifies indexes and Undo crushes LO.

Now I’m investigating CompresRedlines further. I think it can be changed so it merges only two 
neighbor redlines in the same node and not merge cross-node. Or maybe it should be completely 
removed, as it only merges redlines if they’ve been created in the same minute! 
(https://opengrok.libreoffice.org/xref/core/sw/source/core/doc/docredln.cxx#946)
So chances that two redlines will be merged are very low.


------ Исходное сообщение ------
От: "Miklos Vajna" <vmiklos@collabora.co.uk<mailto:vmiklos@collabora.co.uk>>
Кому: libreoffice@lists.freedesktop.org<mailto:libreoffice@lists.freedesktop.org>
Отправлено: 05.01.2018 18:35:12
Тема: Re: Bug 83260

Hi,

On Thu, Jan 04, 2018 at 09:45:14AM +0800, "Matthew J. Francis" 
<mjay.francis@gmail.com<mailto:mjay.francis@gmail.com>> wrote:
 I use tracked changes on a regular basis, and would much rather this be
 treated as "maybe difficult but important to get right" than "too hard, so
 don't bother"

Perhaps a middle ground is to give up undo/redo only for the subset when
we know we would crash anyway? And sure, if somebody has the
time/motivation to look at the root cause of the crash (currently I
don't), that's even better.

Regards,

Miklos

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.