diff options
-rw-r--r-- | chart2/source/model/main/ChartModel.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chart2/source/model/main/ChartModel.cxx b/chart2/source/model/main/ChartModel.cxx index 8918c04cc2a4..a73aa04f49ef 100644 --- a/chart2/source/model/main/ChartModel.cxx +++ b/chart2/source/model/main/ChartModel.cxx @@ -548,6 +548,13 @@ void SAL_CALL ChartModel::dispose() if ( m_xDiagram.is() ) ModifyListenerHelper::removeListener( m_xDiagram, this ); + if ( m_xDataProvider.is() ) + { + Reference<util::XModifyBroadcaster> xModifyBroadcaster( m_xDataProvider, uno::UNO_QUERY ); + if ( xModifyBroadcaster.is() ) + xModifyBroadcaster->removeModifyListener( this ); + } + m_xDataProvider.clear(); m_xInternalDataProvider.clear(); m_xNumberFormatsSupplier.clear(); |