Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | [From Symphony]Crash when redo split the pasted table | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Writer | Reporter: | Yan Ji <yanji.yj> | ||||||
Component: | editing | Assignee: | AOO issues mailing list <issues> | ||||||
Status: | CLOSED FIXED | QA Contact: | |||||||
Severity: | Critical | ||||||||
Priority: | P3 | CC: | binbjguo, chenpeng2006, jsc, liushenf | ||||||
Version: | 3.4.0 | ||||||||
Target Milestone: | 4.0.0 | ||||||||
Hardware: | PC | ||||||||
OS: | All | ||||||||
Issue Type: | DEFECT | Latest Confirmation in: | --- | ||||||
Developer Difficulty: | --- | ||||||||
Attachments: |
|
Description
Yan Ji
2012-06-08 06:05:52 UTC
Root Cause: Chart data was disposed while undo the pasting, and the corresponding table also has already been destructed, so it can not notify its owner chart data provider to dismiss the chart data sequence, as the code below: -------------------------------------------------------------------------------- if (pDataProvider) { const SwTable* pTable = SwTable::FindTable( GetFrmFmt() ); if (pTable) { uno::Reference< chart2::data::XDataSequence > xRef( dynamic_cast< chart2::data::XDataSequence * >(this), uno::UNO_QUERY ); pDataProvider->RemoveDataSequence( *pTable, xRef ); } -------------------------------------------------------------------------------- After all redo happens, the table will be split again, there is an invalidate chart data sequence inside, then the DisposedException lead the crash. Resolution: While deleting any box from chart data provider, verify whether there are any invalidate chart data sequence inside, if so, catch the exception and remove it. Created attachment 78185 [details] patch for bug 119912 Crash when redo split the pasted table I have test the patch by the steps, it works well. Created attachment 78204 [details]
Repatch 19912
reviewed, built, tested, no crash anymore, patch applied on trunk trunk -> revision 1348006 Verified it on Aoo_Trunk_20120616.1800.1350879 and it does not reproduce, no crash, so close it as fixed. set Target Milestone to AOO 3.5.0 for PM purpose. |