summaryrefslogtreecommitdiff
path: root/chart2/source/model/template/ChartType.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/model/template/ChartType.cxx')
-rwxr-xr-x[-rw-r--r--]chart2/source/model/template/ChartType.cxx55
1 files changed, 37 insertions, 18 deletions
diff --git a/chart2/source/model/template/ChartType.cxx b/chart2/source/model/template/ChartType.cxx
index c014113cc9f5..99b3ca9fadaa 100644..100755
--- a/chart2/source/model/template/ChartType.cxx
+++ b/chart2/source/model/template/ChartType.cxx
@@ -225,32 +225,51 @@ uno::Any ChartType::GetDefaultValue( sal_Int32 /* nHandle */ ) const
return uno::Any();
}
-// ____ OPropertySet ____
-::cppu::IPropertyArrayHelper & SAL_CALL ChartType::getInfoHelper()
+namespace
{
- // using assignment for broken gcc 3.3
- static ::cppu::OPropertyArrayHelper aArrayHelper = ::cppu::OPropertyArrayHelper(
- Sequence< beans::Property >(), /* bSorted */ sal_True );
-
- return aArrayHelper;
-}
+struct StaticChartTypeInfoHelper_Initializer
+{
+ ::cppu::OPropertyArrayHelper* operator()()
+ {
+ // using assignment for broken gcc 3.3
+ static ::cppu::OPropertyArrayHelper aPropHelper = ::cppu::OPropertyArrayHelper(
+ Sequence< beans::Property >() );
+ return &aPropHelper;
+ }
+};
-// ____ XPropertySet ____
-uno::Reference< beans::XPropertySetInfo > SAL_CALL
- ChartType::getPropertySetInfo()
- throw (uno::RuntimeException)
+struct StaticChartTypeInfoHelper : public rtl::StaticAggregate< ::cppu::OPropertyArrayHelper, StaticChartTypeInfoHelper_Initializer >
{
- static uno::Reference< beans::XPropertySetInfo > xInfo;
+};
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if( !xInfo.is())
+struct StaticChartTypeInfo_Initializer
+{
+ uno::Reference< beans::XPropertySetInfo >* operator()()
{
- xInfo = ::cppu::OPropertySetHelper::createPropertySetInfo(
- getInfoHelper());
+ static uno::Reference< beans::XPropertySetInfo > xPropertySetInfo(
+ ::cppu::OPropertySetHelper::createPropertySetInfo(*StaticChartTypeInfoHelper::get() ) );
+ return &xPropertySetInfo;
}
+};
+
+struct StaticChartTypeInfo : public rtl::StaticAggregate< uno::Reference< beans::XPropertySetInfo >, StaticChartTypeInfo_Initializer >
+{
+};
+
+}
- return xInfo;
+// ____ OPropertySet ____
+::cppu::IPropertyArrayHelper & SAL_CALL ChartType::getInfoHelper()
+{
+ return *StaticChartTypeInfoHelper::get();
+}
+
+// ____ XPropertySet ____
+uno::Reference< beans::XPropertySetInfo > SAL_CALL ChartType::getPropertySetInfo()
+ throw (uno::RuntimeException)
+{
+ return *StaticChartTypeInfo::get();
}
// ____ XModifyBroadcaster ____