From bc8a11cf663c41fbe3245640a6159bd0ea6d9ce7 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Tue, 30 Sep 2014 14:21:41 +0200 Subject: [PATCH] chart2: add a SolarMutexGuard in ChartView::createInstance() SvxUnoNameItemTable::SvxUnoNameItemTable() registers a listener at SdrModel, surely that needs a lock of some kind. Change-Id: I80d5a31be66e75f07e8abd26504bdcc93ffd22a3 --- chart2/source/view/main/ChartView.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx index 6266b8755302..deeda978001b 100644 --- a/chart2/source/view/main/ChartView.cxx +++ b/chart2/source/view/main/ChartView.cxx @@ -321,8 +321,8 @@ ChartView::~ChartView() if( m_pDrawModelWrapper.get() ) { - EndListening( m_pDrawModelWrapper->getSdrModel(), false /*bAllDups*/ ); SolarMutexGuard aSolarGuard; + EndListening( m_pDrawModelWrapper->getSdrModel(), false /*bAllDups*/ ); m_pDrawModelWrapper.reset(); } m_xDrawPage = NULL; @@ -2882,6 +2882,8 @@ void SAL_CALL ChartView::removeVetoableChangeListener( const OUString& /* Proper Reference< uno::XInterface > ChartView::createInstance( const OUString& aServiceSpecifier ) throw (uno::Exception, uno::RuntimeException, std::exception) { + SolarMutexGuard aSolarGuard; + SdrModel* pModel = ( m_pDrawModelWrapper ? &m_pDrawModelWrapper->getSdrModel() : NULL ); if ( pModel ) {