Author: zhangjf Date: Tue Sep 11 13:20:33 2012 New Revision: 1383401 URL: http://svn.apache.org/viewvc?rev=1383401&view=rev Log: #i120828#, retore some ChartModel::dispose() code to break cyclic reference
Found by: zhangjf Patch by: zhangjf Modified: incubator/ooo/trunk/main/chart2/source/model/main/ChartModel.cxx Modified: incubator/ooo/trunk/main/chart2/source/model/main/ChartModel.cxx URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/chart2/source/model/main/ChartModel.cxx?rev=1383401&r1=1383400&r2=1383401&view=diff ============================================================================== --- incubator/ooo/trunk/main/chart2/source/model/main/ChartModel.cxx (original) +++ incubator/ooo/trunk/main/chart2/source/model/main/ChartModel.cxx Tue Sep 11 13:20:33 2012 @@ -565,6 +565,9 @@ void SAL_CALL ChartModel::dispose() thro m_pUndoManager.clear(); // that's important, since the UndoManager implementation delegates its ref counting to ourself. + if( m_xOldModelAgg.is()) // #i120828#, to release cyclic reference to ChartModel object + m_xOldModelAgg->setDelegator( 0 ); + m_aControllers.disposeAndClear( lang::EventObject( static_cast< cppu::OWeakObject * >( this ))); m_xCurrentController.clear();