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


My assumptions from email below weren't fully correct...
There is RedlineGuard class 
(https://opengrok.libreoffice.org/xref/core/sw/source/core/undo/undobj.cxx#190), 
instance of which is constructed just before UndoImpl called.
Constructor sets RedlineFlags to value, that been during editing, which 
is Undone now, In destructor it sets flags back to their current values. 
This should help Undo mechanism to work properly. But in reality it not 
saves from crushes.
For now I'll do my further investigations on this issue.

------ Исходное сообщение ------
От: "Yemelyanenko Fyodor" <fyodor_e@hotmail.com>
Кому: "libreoffice@lists.freedesktop.org" 
<libreoffice@lists.freedesktop.org>
Отправлено: 22.12.2017 16:56:53
Тема: Bug 83260

Hello!

I'm working on bug 83260
(https://bugs.documentfoundation.org/show_bug.cgi?id=83260) and have an
issue...
In short, when redlining (change tracking) is ON undo will crush LO
during some circumstances.

This is connected with redlining implementation in LO. When you toggle
Show in Edit->Changes->Show and doc already has some deleted 
paragraphs,
these paragraph moved from special section of document do document
section. As a result, such move invalidate Undo indexes and during Undo
LO will crush in many cases.

For now I see 2 possible solutions:
1. Rewrite redlining, so Show option will change how doc is viewed, but
not how it is formed (list of nodes)
2. When toggling change tracking or show option ON/OFF - clean
Undo/Redo.

For now, I prefer option 2 :-)

Do we need to warn user, that we going to purge Undo/Redo (say, by
displaying some warning?)
Any additional suggestions will be appreciated.

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


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.