summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Francis <dennis.francis@collabora.co.uk>2017-08-02 10:38:12 +0530
committerTomaž Vajngerl <quikee@gmail.com>2017-08-07 15:05:56 +0200
commitc9f07d72b6e40ca70ee11f0350fd6e5acfefba89 (patch)
tree5f17ffc1fd4a6c2a3300ebe0e16e3325cb714bde
parent2e191b82881a1bc06aee73de85452eaf867d1041 (diff)
tdf#109523: Do not forget to remove the chart model from...
data-provider's listener set when the chart model is getting disposed. Change-Id: Iafbe1426cdb42059cbb4e2955a257a09aa42ec8e Reviewed-on: https://gerrit.libreoffice.org/40663 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 9561e0f392de3b99d8a0374486d4c0575b23180b) Reviewed-on: https://gerrit.libreoffice.org/40705 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
-rw-r--r--chart2/source/model/main/ChartModel.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/chart2/source/model/main/ChartModel.cxx b/chart2/source/model/main/ChartModel.cxx
index 48d38e832850..07bf1ccf4c6b 100644
--- a/chart2/source/model/main/ChartModel.cxx
+++ b/chart2/source/model/main/ChartModel.cxx
@@ -547,6 +547,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();