summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-12-05 22:24:14 +0100
committerMichael Stahl <mstahl@redhat.com>2014-12-05 23:06:39 +0100
commita2a9c84deff54321da0042212bae86ede25dd7e2 (patch)
treef7e469e7c7f61f4ae01367efe56ccf7d45bfaed1
parentdce74be2bab7a6924578e8f6f6ce37aa593cc481 (diff)
fdo#85112: reportdesign: fix SolarMutex assertion
A bit tricky, but all of the UNO wrappers for SdrObjects etc. in svx use the SolarMutex for locking, so it's reasonable to expect that reportdesign code also has to lock SolarMutex when it manipulates these. Change-Id: I3cade8f53d7655e249b82673c87238d5a17256cb
-rw-r--r--reportdesign/source/core/api/Section.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/reportdesign/source/core/api/Section.cxx b/reportdesign/source/core/api/Section.cxx
index e70bb3bb96d5..71993ad8d5f5 100644
--- a/reportdesign/source/core/api/Section.cxx
+++ b/reportdesign/source/core/api/Section.cxx
@@ -34,6 +34,7 @@
#include "ReportDefinition.hxx"
#include "Shape.hxx"
#include <svx/unoshape.hxx>
+#include <vcl/svapp.hxx>
#include "RptObject.hxx"
#include "ReportDrawPage.hxx"
#include <comphelper/property.hxx>
@@ -197,6 +198,7 @@ sal_Bool SAL_CALL OSection::supportsService( const OUString& _rServiceName ) thr
void OSection::init()
{
+ SolarMutexGuard g; // lock while manipulating SdrModel
uno::Reference< report::XReportDefinition> xReport = getReportDefinition();
::boost::shared_ptr<rptui::OReportModel> pModel = OReportDefinition::getSdrModel(xReport);
assert(pModel && "No model set at the report definition!");