Apache OpenOffice (AOO) Bugzilla – Issue 120172
[Crash]After undo delete text box with animation assgined, edit the textbox will cause a crash.
Last modified: 2012-07-25 09:08:40 UTC
build info: AOO3.4.1_r135 Steps: 1. Create a file in Presentaion. 2. Create a new slide. 3. Input some text in outline text box. 4. Insert a shape, right click it -> Custom Animation, assign an animation to it. 5. Select the outline text box, assign an animation to it, press Delete to delete the outline text box. 6. Press Ctrl+Z to undo the deleting. Issue: You can see the shape will be lost. Then, do any operation on text box will cause a crash. For instance, drag&drop to move/resize the text box; input content and click a blank place...
Reproduced in AOO 3.4.1 dev snapshot build
Taking over.
The root of the crash lies in DrawView::DeleteMarked(): - The shape that is being deleted has its origin in a PresObj, a template shape that displays the text "Click to add text" - When that shape is deleted then internally it is replaced by a new PresObj. Therefore the first operation in the delete is an insert. - PresObjs are inserted by default at the end of the shape list of a page. An undo object is generated automatically for this. - After the PresObj has been created DrawView::DeleteMarked() calls SetObjectOrdNum at the page to move the PresObj to the right position (from index 3 to index 1 in the scenario described above (four shapes)). This operation is not recorded by an undo operation. - When later the deletion of the text object is reversed via undo, the wrong indices are used to delete/insert objects. As a result dead objects are kept in the list. Accessing them afterwards leads to the crash.
"af" committed SVN revision 1361092 into trunk: #i120172# Add missing undo action for changing index of new PresObj.
Fixed by adding an undo action for changing the index of the new PresObj.
set release blocker flag to 3.4.1
Merged fix into 3.4.1 branch.
SVN revision on the AOO34 branch is 1361131.
"af" committed SVN revision 1361131 into branches/AOO34: #i120172# Add missing undo action for changing index of new PresObj.
Verify pass on AOO trunk 1362376.
Verify pass on AOO341 branch r1364591.
set target milestone AOO 3.4.1