diff options
author | Jian Fang Zhang <zhangjf@apache.org> | 2012-09-11 12:20:33 +0000 |
---|---|---|
committer | Jian Fang Zhang <zhangjf@apache.org> | 2012-09-11 12:20:33 +0000 |
commit | 1c564cb9a46fc6435750f9f1a70f654b52efd970 (patch) | |
tree | bdaa38bf90ef787cbbc701eff814062f7c96180a /chart2 | |
parent | fe7e723a727f6def90ee80ef2964a40546b37a90 (diff) |
#i120828#, retore some ChartModel::dispose() code to break cyclic reference
Found by: zhangjf
Patch by: zhangjf
Notes
Notes:
merged as: 275225ed4d401d306c75de92fb980a6a3f85c635
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/model/main/ChartModel.cxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/chart2/source/model/main/ChartModel.cxx b/chart2/source/model/main/ChartModel.cxx index f0ea63339987..0dd47f13954f 100644 --- a/chart2/source/model/main/ChartModel.cxx +++ b/chart2/source/model/main/ChartModel.cxx @@ -565,6 +565,9 @@ void SAL_CALL ChartModel::dispose() throw(uno::RuntimeException) 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(); |