Sadly removing call to CompresRedlines is not good solution…
AppendRedlines still calls CompresRedlines and CompresRedlines does it dirty job by invalidating
indexes…
I prefer to modify CompresRedlines so it only compresses Redlines if they are inside same node and
disable cross-node compressions. As only same-minute redlines can be compressed this viewed as
allowable solution.
With these modification LO is stable when autocreecting and Undo/Redo
Patch is here https://gerrit.libreoffice.org/47686
Anyone (especially those with commit rights)are welcomed to review this patch.
------ Исходное сообщение ------
От: "Miklos Vajna" <vmiklos@collabora.co.uk<mailto:vmiklos@collabora.co.uk>>
Кому: "libreoffice@lists.freedesktop.org"
<libreoffice@lists.freedesktop.org<mailto:libreoffice@lists.freedesktop.org>>
Отправлено: 10.01.2018 19:26:27
Тема: Re: Bug 83260
Hi,
On Tue, Jan 09, 2018 at 05:10:00AM +0000, Yemelyanenko Fyodor
<fyodor_e@hotmail.com<mailto:fyodor_e@hotmail.com>> wrote:
I think that the best solution for bug in question is to remove call to CompresRedlines from
Undo/Redo. So Undo/Redo won't compress redlines and change indexes.
I don't like to change CompresRedlines as it called by AppendRedline and from several other places.
For me such solution can be safest.
That sounds like a good approach, I was also confused how redlining and
undo compresses the events.
This would also ensure that the behavior of how to compress redline in
saved documents is not changing, which is probably a good thing.
PS Its funny, that if you type some text in single paragraph with
change tracking = ON, you'll get new redline every single minute, even
if you type continuously :-) This is by design, as AppendRedline calls
CanCombine which only allows combining those text, which has been
typed during single minute
(https://opengrok.libreoffice.org/xref/core/sw/source/core/doc/DocumentRedlineManager.cxx#861)
Yes, that's a known behavior, in the past I broke it and it created a
new redline every second, that was not funny. ;-)
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.