diff options
author | Ingrid Halama <iha@openoffice.org> | 2010-10-06 13:53:07 +0200 |
---|---|---|
committer | Ingrid Halama <iha@openoffice.org> | 2010-10-06 13:53:07 +0200 |
commit | 63af9d6233ba3858a66a1f634d7f7fd7acdc03fa (patch) | |
tree | bc97661de4944e02437300e8b617bf6a52b6b210 /chart2/source/model/template/PieChartTypeTemplate.cxx | |
parent | chart49: #i113103# prevent deadlock caused by mixed mutex locking order wiht ... (diff) | |
download | core-63af9d6233ba3858a66a1f634d7f7fd7acdc03fa.tar.gz core-63af9d6233ba3858a66a1f634d7f7fd7acdc03fa.zip |
chart49: #i113103# use corrected double-checked locking pattern for propertysetinfo
Diffstat (limited to 'chart2/source/model/template/PieChartTypeTemplate.cxx')
-rwxr-xr-x | chart2/source/model/template/PieChartTypeTemplate.cxx | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/chart2/source/model/template/PieChartTypeTemplate.cxx b/chart2/source/model/template/PieChartTypeTemplate.cxx index 2bb58e7ddbb6..fc455ff99fc1 100755 --- a/chart2/source/model/template/PieChartTypeTemplate.cxx +++ b/chart2/source/model/template/PieChartTypeTemplate.cxx @@ -135,6 +135,20 @@ struct StaticPieChartTypeTemplateInfoHelper : public rtl::StaticAggregate< ::cpp { }; +struct StaticPieChartTypeTemplateInfo_Initializer +{ + uno::Reference< beans::XPropertySetInfo >* operator()() + { + static uno::Reference< beans::XPropertySetInfo > xPropertySetInfo( + ::cppu::OPropertySetHelper::createPropertySetInfo(*StaticPieChartTypeTemplateInfoHelper::get() ) ); + return &xPropertySetInfo; + } +}; + +struct StaticPieChartTypeTemplateInfo : public rtl::StaticAggregate< uno::Reference< beans::XPropertySetInfo >, StaticPieChartTypeTemplateInfo_Initializer > +{ +}; + } // anonymous namespace namespace chart @@ -187,27 +201,13 @@ uno::Any PieChartTypeTemplate::GetDefaultValue( sal_Int32 nHandle ) const return *StaticPieChartTypeTemplateInfoHelper::get(); } - // ____ XPropertySet ____ -uno::Reference< beans::XPropertySetInfo > SAL_CALL - PieChartTypeTemplate::getPropertySetInfo() +uno::Reference< beans::XPropertySetInfo > SAL_CALL PieChartTypeTemplate::getPropertySetInfo() throw (uno::RuntimeException) { - static uno::Reference< beans::XPropertySetInfo > xInfo; - - // /-- - MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); - if( !xInfo.is()) - { - xInfo = ::cppu::OPropertySetHelper::createPropertySetInfo( - getInfoHelper()); - } - - return xInfo; - // \-- + return *StaticPieChartTypeTemplateInfo::get(); } - // ____ ChartTypeTemplate ____ sal_Int32 PieChartTypeTemplate::getDimension() const { |