On 18/10/2010 14:55, Malte Timmermann wrote: > The Undo actions could have pointers to some data which doesn't exist > anymore, and the extension can't remove the actions from the > UndoManager. Avoiding pointers could mean making the Undo actions more > "expensive" (memory, time). For example, Writer and EditEngine simply > keep Paragraph* when paragraphs are being deleted completely.
this is probably one of the reasons why using Undo/Redo in writer is the fastest way to crash OOo... using bare pointers to objects that are not owned by the Undo action is a horrible idea. making copies of data is an acceptable overhead of an Undo implementation that actually _works_. [oh, and what you said is not actually true for paragraphs, but lots of other stuff] -- "That's what C++ is all about: the development of your ethical judgment. Everybody can tell good from bad; choosing between the ugly and the disgusting takes real wisdom." -- Yossi Kreinin --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org For additional commands, e-mail: dev-h...@api.openoffice.org