summaryrefslogtreecommitdiffstats
path: root/chart2/source/tools
diff options
context:
space:
mode:
authorIngrid Halama <iha@openoffice.org>2010-10-05 11:10:54 +0200
committerIngrid Halama <iha@openoffice.org>2010-10-05 11:10:54 +0200
commitf0a13fa4339ee940f267fb8787d6137b148abec9 (patch)
treedd8d95debf3d6306ffb4179f1b524f2abdc4d7da /chart2/source/tools
parentchart49: remove assertion while opening chart series properties dialog: SFxIt... (diff)
downloadcore-f0a13fa4339ee940f267fb8787d6137b148abec9.tar.gz
core-f0a13fa4339ee940f267fb8787d6137b148abec9.zip
chart49: #i113103# prevent deadlock caused by mixed mutex locking order wiht static variable initialization
Diffstat (limited to 'chart2/source/tools')
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/AxisHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/BaseGFXHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/CachedDataSequence.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/CharacterProperties.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ChartDebugTrace.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ChartModelHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ChartTypeHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ChartViewHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ColorPerPointHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/CommonConverters.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ConfigColorScheme.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ControllerLockGuard.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/DataSeriesHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/DataSource.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/DataSourceHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/DiagramHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ErrorBar.cxx32
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ExplicitCategoriesProvider.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ExponentialRegressionCurveCalculator.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/FillProperties.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/FormattedStringHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ImplOPropertySet.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ImplOPropertySet.hxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/InternalDataProvider.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/LabeledDataSequence.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/LegendHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/LifeTime.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/LineProperties.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/LinearRegressionCurveCalculator.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/LogarithmicRegressionCurveCalculator.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/MeanValueRegressionCurveCalculator.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/MediaDescriptorHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ModifyListenerCallBack.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ModifyListenerHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/MutexContainer.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/NameContainer.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/NamedFillProperties.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/NamedLineProperties.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/NamedProperties.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/OPropertySet.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ObjectIdentifier.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/PotentialRegressionCurveCalculator.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/PropertyHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RangeHighlighter.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ReferenceSizeProvider.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RegressionCalculationHelper.hxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RegressionCurveCalculator.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RegressionCurveHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RegressionCurveModel.cxx33
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RegressionCurveModel.hxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RegressionEquation.cxx34
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RegressionEquation.hxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RelativePositionHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RelativeSizeHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ResId.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/RessourceManager.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/Scaling.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/SceneProperties.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/StatisticsHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/ThreeDHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/TitleHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/TrueGuard.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/UncachedDataSequence.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/UserDefinedProperties.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/WeakListenerAdapter.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/WrappedDefaultProperty.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/WrappedDirectStateProperty.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/WrappedIgnoreProperty.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/WrappedProperty.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/WrappedPropertySet.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/XMLRangeHelper.cxx0
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/_serviceregistration_tools.cxx0
72 files changed, 40 insertions, 59 deletions
diff --git a/chart2/source/tools/AxisHelper.cxx b/chart2/source/tools/AxisHelper.cxx
index 8cdd24e4dc05..8cdd24e4dc05 100644..100755
--- a/chart2/source/tools/AxisHelper.cxx
+++ b/chart2/source/tools/AxisHelper.cxx
diff --git a/chart2/source/tools/BaseGFXHelper.cxx b/chart2/source/tools/BaseGFXHelper.cxx
index 0ec7df9b7d71..0ec7df9b7d71 100644..100755
--- a/chart2/source/tools/BaseGFXHelper.cxx
+++ b/chart2/source/tools/BaseGFXHelper.cxx
diff --git a/chart2/source/tools/CachedDataSequence.cxx b/chart2/source/tools/CachedDataSequence.cxx
index 678cd8ba8314..678cd8ba8314 100644..100755
--- a/chart2/source/tools/CachedDataSequence.cxx
+++ b/chart2/source/tools/CachedDataSequence.cxx
diff --git a/chart2/source/tools/CharacterProperties.cxx b/chart2/source/tools/CharacterProperties.cxx
index cca655780a79..cca655780a79 100644..100755
--- a/chart2/source/tools/CharacterProperties.cxx
+++ b/chart2/source/tools/CharacterProperties.cxx
diff --git a/chart2/source/tools/ChartDebugTrace.cxx b/chart2/source/tools/ChartDebugTrace.cxx
index 9629138cb2be..9629138cb2be 100644..100755
--- a/chart2/source/tools/ChartDebugTrace.cxx
+++ b/chart2/source/tools/ChartDebugTrace.cxx
diff --git a/chart2/source/tools/ChartModelHelper.cxx b/chart2/source/tools/ChartModelHelper.cxx
index a49b2abeac98..a49b2abeac98 100644..100755
--- a/chart2/source/tools/ChartModelHelper.cxx
+++ b/chart2/source/tools/ChartModelHelper.cxx
diff --git a/chart2/source/tools/ChartTypeHelper.cxx b/chart2/source/tools/ChartTypeHelper.cxx
index b851a3864b97..b851a3864b97 100644..100755
--- a/chart2/source/tools/ChartTypeHelper.cxx
+++ b/chart2/source/tools/ChartTypeHelper.cxx
diff --git a/chart2/source/tools/ChartViewHelper.cxx b/chart2/source/tools/ChartViewHelper.cxx
index 55fbd368426a..55fbd368426a 100644..100755
--- a/chart2/source/tools/ChartViewHelper.cxx
+++ b/chart2/source/tools/ChartViewHelper.cxx
diff --git a/chart2/source/tools/ColorPerPointHelper.cxx b/chart2/source/tools/ColorPerPointHelper.cxx
index 762cb436a9a7..762cb436a9a7 100644..100755
--- a/chart2/source/tools/ColorPerPointHelper.cxx
+++ b/chart2/source/tools/ColorPerPointHelper.cxx
diff --git a/chart2/source/tools/CommonConverters.cxx b/chart2/source/tools/CommonConverters.cxx
index 6b70ac4c1500..6b70ac4c1500 100644..100755
--- a/chart2/source/tools/CommonConverters.cxx
+++ b/chart2/source/tools/CommonConverters.cxx
diff --git a/chart2/source/tools/ConfigColorScheme.cxx b/chart2/source/tools/ConfigColorScheme.cxx
index fb7106d87096..fb7106d87096 100644..100755
--- a/chart2/source/tools/ConfigColorScheme.cxx
+++ b/chart2/source/tools/ConfigColorScheme.cxx
diff --git a/chart2/source/tools/ControllerLockGuard.cxx b/chart2/source/tools/ControllerLockGuard.cxx
index 4ef430c5e483..4ef430c5e483 100644..100755
--- a/chart2/source/tools/ControllerLockGuard.cxx
+++ b/chart2/source/tools/ControllerLockGuard.cxx
diff --git a/chart2/source/tools/DataSeriesHelper.cxx b/chart2/source/tools/DataSeriesHelper.cxx
index acff332d4229..acff332d4229 100644..100755
--- a/chart2/source/tools/DataSeriesHelper.cxx
+++ b/chart2/source/tools/DataSeriesHelper.cxx
diff --git a/chart2/source/tools/DataSource.cxx b/chart2/source/tools/DataSource.cxx
index edbf4dfacfeb..edbf4dfacfeb 100644..100755
--- a/chart2/source/tools/DataSource.cxx
+++ b/chart2/source/tools/DataSource.cxx
diff --git a/chart2/source/tools/DataSourceHelper.cxx b/chart2/source/tools/DataSourceHelper.cxx
index 0cc6ef4a4315..0cc6ef4a4315 100644..100755
--- a/chart2/source/tools/DataSourceHelper.cxx
+++ b/chart2/source/tools/DataSourceHelper.cxx
diff --git a/chart2/source/tools/DiagramHelper.cxx b/chart2/source/tools/DiagramHelper.cxx
index 36afef60a6d4..36afef60a6d4 100644..100755
--- a/chart2/source/tools/DiagramHelper.cxx
+++ b/chart2/source/tools/DiagramHelper.cxx
diff --git a/chart2/source/tools/ErrorBar.cxx b/chart2/source/tools/ErrorBar.cxx
index 7468d8bb7896..e1500a5e16b5 100644..100755
--- a/chart2/source/tools/ErrorBar.cxx
+++ b/chart2/source/tools/ErrorBar.cxx
@@ -118,38 +118,32 @@ void lcl_AddDefaultsToMap(
::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_ERROR_BAR_SHOW_NEG_ERROR, true );
}
-const uno::Sequence< Property > & lcl_GetPropertySequence()
+struct StaticErrorBarInfoHelper_Initializer
{
- static uno::Sequence< Property > aPropSeq;
+ ::cppu::OPropertyArrayHelper* operator()()
+ {
+ static ::cppu::OPropertyArrayHelper aPropHelper( lcl_GetPropertySequence() );
+ return &aPropHelper;
+ }
- // /--
- MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if( 0 == aPropSeq.getLength() )
+private:
+ uno::Sequence< Property > lcl_GetPropertySequence()
{
- // get properties
::std::vector< ::com::sun::star::beans::Property > aProperties;
lcl_AddPropertiesToVector( aProperties );
::chart::LineProperties::AddPropertiesToVector( aProperties );
- // and sort them for access via bsearch
::std::sort( aProperties.begin(), aProperties.end(),
::chart::PropertyNameLess() );
- // transfer result to static Sequence
- aPropSeq = ::chart::ContainerHelper::ContainerToSequence( aProperties );
+ return ::chart::ContainerHelper::ContainerToSequence( aProperties );
}
- return aPropSeq;
-}
+};
-::cppu::IPropertyArrayHelper & lcl_getInfoHelper()
+struct StaticErrorBarInfoHelper : public rtl::StaticAggregate< ::cppu::OPropertyArrayHelper, StaticErrorBarInfoHelper_Initializer >
{
- static ::cppu::OPropertyArrayHelper aArrayHelper(
- lcl_GetPropertySequence(),
- /* bSorted = */ sal_True );
-
- return aArrayHelper;
-}
+};
bool lcl_isInternalData( const uno::Reference< chart2::data::XLabeledDataSequence > & xLSeq )
{
@@ -231,7 +225,7 @@ uno::Any ErrorBar::GetDefaultValue( sal_Int32 nHandle ) const
::cppu::IPropertyArrayHelper & SAL_CALL ErrorBar::getInfoHelper()
{
- return lcl_getInfoHelper();
+ return *StaticErrorBarInfoHelper::get();
}
diff --git a/chart2/source/tools/ExplicitCategoriesProvider.cxx b/chart2/source/tools/ExplicitCategoriesProvider.cxx
index b2dcfc11b5e1..b2dcfc11b5e1 100644..100755
--- a/chart2/source/tools/ExplicitCategoriesProvider.cxx
+++ b/chart2/source/tools/ExplicitCategoriesProvider.cxx
diff --git a/chart2/source/tools/ExponentialRegressionCurveCalculator.cxx b/chart2/source/tools/ExponentialRegressionCurveCalculator.cxx
index d7bb86174323..d7bb86174323 100644..100755
--- a/chart2/source/tools/ExponentialRegressionCurveCalculator.cxx
+++ b/chart2/source/tools/ExponentialRegressionCurveCalculator.cxx
diff --git a/chart2/source/tools/FillProperties.cxx b/chart2/source/tools/FillProperties.cxx
index ee23727c321b..ee23727c321b 100644..100755
--- a/chart2/source/tools/FillProperties.cxx
+++ b/chart2/source/tools/FillProperties.cxx
diff --git a/chart2/source/tools/FormattedStringHelper.cxx b/chart2/source/tools/FormattedStringHelper.cxx
index c13c87d45931..c13c87d45931 100644..100755
--- a/chart2/source/tools/FormattedStringHelper.cxx
+++ b/chart2/source/tools/FormattedStringHelper.cxx
diff --git a/chart2/source/tools/ImplOPropertySet.cxx b/chart2/source/tools/ImplOPropertySet.cxx
index faf1defd20ac..faf1defd20ac 100644..100755
--- a/chart2/source/tools/ImplOPropertySet.cxx
+++ b/chart2/source/tools/ImplOPropertySet.cxx
diff --git a/chart2/source/tools/ImplOPropertySet.hxx b/chart2/source/tools/ImplOPropertySet.hxx
index 505ab598d7da..505ab598d7da 100644..100755
--- a/chart2/source/tools/ImplOPropertySet.hxx
+++ b/chart2/source/tools/ImplOPropertySet.hxx
diff --git a/chart2/source/tools/InternalDataProvider.cxx b/chart2/source/tools/InternalDataProvider.cxx
index 4abc51be31af..4abc51be31af 100644..100755
--- a/chart2/source/tools/InternalDataProvider.cxx
+++ b/chart2/source/tools/InternalDataProvider.cxx
diff --git a/chart2/source/tools/LabeledDataSequence.cxx b/chart2/source/tools/LabeledDataSequence.cxx
index 21ade3aefadc..21ade3aefadc 100644..100755
--- a/chart2/source/tools/LabeledDataSequence.cxx
+++ b/chart2/source/tools/LabeledDataSequence.cxx
diff --git a/chart2/source/tools/LegendHelper.cxx b/chart2/source/tools/LegendHelper.cxx
index 4e778db1a68c..4e778db1a68c 100644..100755
--- a/chart2/source/tools/LegendHelper.cxx
+++ b/chart2/source/tools/LegendHelper.cxx
diff --git a/chart2/source/tools/LifeTime.cxx b/chart2/source/tools/LifeTime.cxx
index 444e894a101d..444e894a101d 100644..100755
--- a/chart2/source/tools/LifeTime.cxx
+++ b/chart2/source/tools/LifeTime.cxx
diff --git a/chart2/source/tools/LineProperties.cxx b/chart2/source/tools/LineProperties.cxx
index 95cf95e21a86..95cf95e21a86 100644..100755
--- a/chart2/source/tools/LineProperties.cxx
+++ b/chart2/source/tools/LineProperties.cxx
diff --git a/chart2/source/tools/LinearRegressionCurveCalculator.cxx b/chart2/source/tools/LinearRegressionCurveCalculator.cxx
index 7a372cff4f51..7a372cff4f51 100644..100755
--- a/chart2/source/tools/LinearRegressionCurveCalculator.cxx
+++ b/chart2/source/tools/LinearRegressionCurveCalculator.cxx
diff --git a/chart2/source/tools/LogarithmicRegressionCurveCalculator.cxx b/chart2/source/tools/LogarithmicRegressionCurveCalculator.cxx
index c7c2db60431c..c7c2db60431c 100644..100755
--- a/chart2/source/tools/LogarithmicRegressionCurveCalculator.cxx
+++ b/chart2/source/tools/LogarithmicRegressionCurveCalculator.cxx
diff --git a/chart2/source/tools/MeanValueRegressionCurveCalculator.cxx b/chart2/source/tools/MeanValueRegressionCurveCalculator.cxx
index 8277a5830b0a..8277a5830b0a 100644..100755
--- a/chart2/source/tools/MeanValueRegressionCurveCalculator.cxx
+++ b/chart2/source/tools/MeanValueRegressionCurveCalculator.cxx
diff --git a/chart2/source/tools/MediaDescriptorHelper.cxx b/chart2/source/tools/MediaDescriptorHelper.cxx
index 687bc203a84f..687bc203a84f 100644..100755
--- a/chart2/source/tools/MediaDescriptorHelper.cxx
+++ b/chart2/source/tools/MediaDescriptorHelper.cxx
diff --git a/chart2/source/tools/ModifyListenerCallBack.cxx b/chart2/source/tools/ModifyListenerCallBack.cxx
index ae13b65c39c2..ae13b65c39c2 100644..100755
--- a/chart2/source/tools/ModifyListenerCallBack.cxx
+++ b/chart2/source/tools/ModifyListenerCallBack.cxx
diff --git a/chart2/source/tools/ModifyListenerHelper.cxx b/chart2/source/tools/ModifyListenerHelper.cxx
index 7ac5a2786cef..7ac5a2786cef 100644..100755
--- a/chart2/source/tools/ModifyListenerHelper.cxx
+++ b/chart2/source/tools/ModifyListenerHelper.cxx
diff --git a/chart2/source/tools/MutexContainer.cxx b/chart2/source/tools/MutexContainer.cxx
index 4fbb14674cdb..4fbb14674cdb 100644..100755
--- a/chart2/source/tools/MutexContainer.cxx
+++ b/chart2/source/tools/MutexContainer.cxx
diff --git a/chart2/source/tools/NameContainer.cxx b/chart2/source/tools/NameContainer.cxx
index 05169c4608f9..05169c4608f9 100644..100755
--- a/chart2/source/tools/NameContainer.cxx
+++ b/chart2/source/tools/NameContainer.cxx
diff --git a/chart2/source/tools/NamedFillProperties.cxx b/chart2/source/tools/NamedFillProperties.cxx
index f904c34c1df1..f904c34c1df1 100644..100755
--- a/chart2/source/tools/NamedFillProperties.cxx
+++ b/chart2/source/tools/NamedFillProperties.cxx
diff --git a/chart2/source/tools/NamedLineProperties.cxx b/chart2/source/tools/NamedLineProperties.cxx
index 02680abf690e..02680abf690e 100644..100755
--- a/chart2/source/tools/NamedLineProperties.cxx
+++ b/chart2/source/tools/NamedLineProperties.cxx
diff --git a/chart2/source/tools/NamedProperties.cxx b/chart2/source/tools/NamedProperties.cxx
index 4fcb536b3279..4fcb536b3279 100644..100755
--- a/chart2/source/tools/NamedProperties.cxx
+++ b/chart2/source/tools/NamedProperties.cxx
diff --git a/chart2/source/tools/OPropertySet.cxx b/chart2/source/tools/OPropertySet.cxx
index a1caac803dd7..a1caac803dd7 100644..100755
--- a/chart2/source/tools/OPropertySet.cxx
+++ b/chart2/source/tools/OPropertySet.cxx
diff --git a/chart2/source/tools/ObjectIdentifier.cxx b/chart2/source/tools/ObjectIdentifier.cxx
index 0599f9317aed..0599f9317aed 100644..100755
--- a/chart2/source/tools/ObjectIdentifier.cxx
+++ b/chart2/source/tools/ObjectIdentifier.cxx
diff --git a/chart2/source/tools/PotentialRegressionCurveCalculator.cxx b/chart2/source/tools/PotentialRegressionCurveCalculator.cxx
index b1d10424b9a1..b1d10424b9a1 100644..100755
--- a/chart2/source/tools/PotentialRegressionCurveCalculator.cxx
+++ b/chart2/source/tools/PotentialRegressionCurveCalculator.cxx
diff --git a/chart2/source/tools/PropertyHelper.cxx b/chart2/source/tools/PropertyHelper.cxx
index dd0a1ad6cf2f..dd0a1ad6cf2f 100644..100755
--- a/chart2/source/tools/PropertyHelper.cxx
+++ b/chart2/source/tools/PropertyHelper.cxx
diff --git a/chart2/source/tools/RangeHighlighter.cxx b/chart2/source/tools/RangeHighlighter.cxx
index 1565344923b1..1565344923b1 100644..100755
--- a/chart2/source/tools/RangeHighlighter.cxx
+++ b/chart2/source/tools/RangeHighlighter.cxx
diff --git a/chart2/source/tools/ReferenceSizeProvider.cxx b/chart2/source/tools/ReferenceSizeProvider.cxx
index 5a37f4980323..5a37f4980323 100644..100755
--- a/chart2/source/tools/ReferenceSizeProvider.cxx
+++ b/chart2/source/tools/ReferenceSizeProvider.cxx
diff --git a/chart2/source/tools/RegressionCalculationHelper.hxx b/chart2/source/tools/RegressionCalculationHelper.hxx
index df407482b34d..df407482b34d 100644..100755
--- a/chart2/source/tools/RegressionCalculationHelper.hxx
+++ b/chart2/source/tools/RegressionCalculationHelper.hxx
diff --git a/chart2/source/tools/RegressionCurveCalculator.cxx b/chart2/source/tools/RegressionCurveCalculator.cxx
index 68e041e668ca..68e041e668ca 100644..100755
--- a/chart2/source/tools/RegressionCurveCalculator.cxx
+++ b/chart2/source/tools/RegressionCurveCalculator.cxx
diff --git a/chart2/source/tools/RegressionCurveHelper.cxx b/chart2/source/tools/RegressionCurveHelper.cxx
index b553dbc2d217..b553dbc2d217 100644..100755
--- a/chart2/source/tools/RegressionCurveHelper.cxx
+++ b/chart2/source/tools/RegressionCurveHelper.cxx
diff --git a/chart2/source/tools/RegressionCurveModel.cxx b/chart2/source/tools/RegressionCurveModel.cxx
index cf5be998308e..02c3e164e742 100644..100755
--- a/chart2/source/tools/RegressionCurveModel.cxx
+++ b/chart2/source/tools/RegressionCurveModel.cxx
@@ -63,37 +63,30 @@ static const OUString lcl_aImplementationName_Potential(
static const OUString lcl_aServiceName(
RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart2.RegressionCurve" ));
-const uno::Sequence< Property > & lcl_GetPropertySequence()
+struct StaticRegressionCurveInfoHelper_Initializer
{
- static uno::Sequence< Property > aPropSeq;
+ ::cppu::OPropertyArrayHelper* operator()()
+ {
+ static ::cppu::OPropertyArrayHelper aPropHelper( lcl_GetPropertySequence() );
+ return &aPropHelper;
+ }
- // /--
- MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if( 0 == aPropSeq.getLength() )
+private:
+ uno::Sequence< Property > lcl_GetPropertySequence()
{
- // get properties
::std::vector< ::com::sun::star::beans::Property > aProperties;
::chart::LineProperties::AddPropertiesToVector( aProperties );
- // and sort them for access via bsearch
::std::sort( aProperties.begin(), aProperties.end(),
::chart::PropertyNameLess() );
- // transfer result to static Sequence
- aPropSeq = ::chart::ContainerHelper::ContainerToSequence( aProperties );
+ return ::chart::ContainerHelper::ContainerToSequence( aProperties );
}
+};
- return aPropSeq;
-}
-
-::cppu::IPropertyArrayHelper & lcl_getInfoHelper()
+struct StaticRegressionCurveInfoHelper : public rtl::StaticAggregate< ::cppu::OPropertyArrayHelper, StaticRegressionCurveInfoHelper_Initializer >
{
- static ::cppu::OPropertyArrayHelper aArrayHelper(
- lcl_GetPropertySequence(),
- /* bSorted = */ sal_True );
-
- return aArrayHelper;
-}
+};
} // anonymous namespace
@@ -262,7 +255,7 @@ uno::Any RegressionCurveModel::GetDefaultValue( sal_Int32 nHandle ) const
::cppu::IPropertyArrayHelper & SAL_CALL RegressionCurveModel::getInfoHelper()
{
- return lcl_getInfoHelper();
+ return *StaticRegressionCurveInfoHelper::get();
}
diff --git a/chart2/source/tools/RegressionCurveModel.hxx b/chart2/source/tools/RegressionCurveModel.hxx
index 82098a76e45a..82098a76e45a 100644..100755
--- a/chart2/source/tools/RegressionCurveModel.hxx
+++ b/chart2/source/tools/RegressionCurveModel.hxx
diff --git a/chart2/source/tools/RegressionEquation.cxx b/chart2/source/tools/RegressionEquation.cxx
index ea16e5b7702a..747f673a9c34 100644..100755
--- a/chart2/source/tools/RegressionEquation.cxx
+++ b/chart2/source/tools/RegressionEquation.cxx
@@ -135,15 +135,17 @@ void lcl_AddDefaultsToMap(
::chart::PropertyHelper::setPropertyValue( rOutMap, ::chart::CharacterProperties::PROP_CHAR_COMPLEX_CHAR_HEIGHT, fDefaultCharHeight );
}
-const uno::Sequence< Property > & lcl_GetPropertySequence()
+struct StaticRegressionEquationInfoHelper_Initializer
{
- static uno::Sequence< Property > aPropSeq;
+ ::cppu::OPropertyArrayHelper* operator()()
+ {
+ static ::cppu::OPropertyArrayHelper aPropHelper( lcl_GetPropertySequence() );
+ return &aPropHelper;
+ }
- // /--
- MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if( 0 == aPropSeq.getLength() )
+private:
+ uno::Sequence< Property > lcl_GetPropertySequence()
{
- // get properties
::std::vector< ::com::sun::star::beans::Property > aProperties;
lcl_AddPropertiesToVector( aProperties );
::chart::LineProperties::AddPropertiesToVector( aProperties );
@@ -151,25 +153,17 @@ const uno::Sequence< Property > & lcl_GetPropertySequence()
::chart::CharacterProperties::AddPropertiesToVector( aProperties );
::chart::UserDefinedProperties::AddPropertiesToVector( aProperties );
- // and sort them for access via bsearch
::std::sort( aProperties.begin(), aProperties.end(),
::chart::PropertyNameLess() );
- // transfer result to static Sequence
- aPropSeq = ::chart::ContainerHelper::ContainerToSequence( aProperties );
+ return ::chart::ContainerHelper::ContainerToSequence( aProperties );
}
- return aPropSeq;
-}
+};
-::cppu::IPropertyArrayHelper & lcl_getInfoHelper()
+struct StaticRegressionEquationInfoHelper : public rtl::StaticAggregate< ::cppu::OPropertyArrayHelper, StaticRegressionEquationInfoHelper_Initializer >
{
- static ::cppu::OPropertyArrayHelper aArrayHelper(
- lcl_GetPropertySequence(),
- /* bSorted = */ sal_True );
-
- return aArrayHelper;
-}
+};
} // anonymous namespace
@@ -233,7 +227,7 @@ uno::Any RegressionEquation::GetDefaultValue( sal_Int32 nHandle ) const
::cppu::IPropertyArrayHelper & SAL_CALL RegressionEquation::getInfoHelper()
{
- return lcl_getInfoHelper();
+ return *StaticRegressionEquationInfoHelper::get();
}
// ____ XPropertySet ____
@@ -248,7 +242,7 @@ Reference< beans::XPropertySetInfo > SAL_CALL
if( !xInfo.is())
{
xInfo = ::cppu::OPropertySetHelper::createPropertySetInfo(
- lcl_getInfoHelper());
+ getInfoHelper());
}
return xInfo;
diff --git a/chart2/source/tools/RegressionEquation.hxx b/chart2/source/tools/RegressionEquation.hxx
index 35dbd828370d..35dbd828370d 100644..100755
--- a/chart2/source/tools/RegressionEquation.hxx
+++ b/chart2/source/tools/RegressionEquation.hxx
diff --git a/chart2/source/tools/RelativePositionHelper.cxx b/chart2/source/tools/RelativePositionHelper.cxx
index 4d566b1f7f48..4d566b1f7f48 100644..100755
--- a/chart2/source/tools/RelativePositionHelper.cxx
+++ b/chart2/source/tools/RelativePositionHelper.cxx
diff --git a/chart2/source/tools/RelativeSizeHelper.cxx b/chart2/source/tools/RelativeSizeHelper.cxx
index d3da090ca397..d3da090ca397 100644..100755
--- a/chart2/source/tools/RelativeSizeHelper.cxx
+++ b/chart2/source/tools/RelativeSizeHelper.cxx
diff --git a/chart2/source/tools/ResId.cxx b/chart2/source/tools/ResId.cxx
index 0d6e35974aaa..0d6e35974aaa 100644..100755
--- a/chart2/source/tools/ResId.cxx
+++ b/chart2/source/tools/ResId.cxx
diff --git a/chart2/source/tools/RessourceManager.cxx b/chart2/source/tools/RessourceManager.cxx
index a2d43b309019..a2d43b309019 100644..100755
--- a/chart2/source/tools/RessourceManager.cxx
+++ b/chart2/source/tools/RessourceManager.cxx
diff --git a/chart2/source/tools/Scaling.cxx b/chart2/source/tools/Scaling.cxx
index e106f1dcc5e2..e106f1dcc5e2 100644..100755
--- a/chart2/source/tools/Scaling.cxx
+++ b/chart2/source/tools/Scaling.cxx
diff --git a/chart2/source/tools/SceneProperties.cxx b/chart2/source/tools/SceneProperties.cxx
index 21a95d99be7d..21a95d99be7d 100644..100755
--- a/chart2/source/tools/SceneProperties.cxx
+++ b/chart2/source/tools/SceneProperties.cxx
diff --git a/chart2/source/tools/StatisticsHelper.cxx b/chart2/source/tools/StatisticsHelper.cxx
index 721451c276da..721451c276da 100644..100755
--- a/chart2/source/tools/StatisticsHelper.cxx
+++ b/chart2/source/tools/StatisticsHelper.cxx
diff --git a/chart2/source/tools/ThreeDHelper.cxx b/chart2/source/tools/ThreeDHelper.cxx
index 44ed73eade43..44ed73eade43 100644..100755
--- a/chart2/source/tools/ThreeDHelper.cxx
+++ b/chart2/source/tools/ThreeDHelper.cxx
diff --git a/chart2/source/tools/TitleHelper.cxx b/chart2/source/tools/TitleHelper.cxx
index 828a523245ff..828a523245ff 100644..100755
--- a/chart2/source/tools/TitleHelper.cxx
+++ b/chart2/source/tools/TitleHelper.cxx
diff --git a/chart2/source/tools/TrueGuard.cxx b/chart2/source/tools/TrueGuard.cxx
index 6992552367ed..6992552367ed 100644..100755
--- a/chart2/source/tools/TrueGuard.cxx
+++ b/chart2/source/tools/TrueGuard.cxx
diff --git a/chart2/source/tools/UncachedDataSequence.cxx b/chart2/source/tools/UncachedDataSequence.cxx
index 52cc6b9c03b6..52cc6b9c03b6 100644..100755
--- a/chart2/source/tools/UncachedDataSequence.cxx
+++ b/chart2/source/tools/UncachedDataSequence.cxx
diff --git a/chart2/source/tools/UserDefinedProperties.cxx b/chart2/source/tools/UserDefinedProperties.cxx
index 707c48c1a6cc..707c48c1a6cc 100644..100755
--- a/chart2/source/tools/UserDefinedProperties.cxx
+++ b/chart2/source/tools/UserDefinedProperties.cxx
diff --git a/chart2/source/tools/WeakListenerAdapter.cxx b/chart2/source/tools/WeakListenerAdapter.cxx
index bbb54e20bdce..bbb54e20bdce 100644..100755
--- a/chart2/source/tools/WeakListenerAdapter.cxx
+++ b/chart2/source/tools/WeakListenerAdapter.cxx
diff --git a/chart2/source/tools/WrappedDefaultProperty.cxx b/chart2/source/tools/WrappedDefaultProperty.cxx
index 03178d204ef7..03178d204ef7 100644..100755
--- a/chart2/source/tools/WrappedDefaultProperty.cxx
+++ b/chart2/source/tools/WrappedDefaultProperty.cxx
diff --git a/chart2/source/tools/WrappedDirectStateProperty.cxx b/chart2/source/tools/WrappedDirectStateProperty.cxx
index 601b6e199d59..601b6e199d59 100644..100755
--- a/chart2/source/tools/WrappedDirectStateProperty.cxx
+++ b/chart2/source/tools/WrappedDirectStateProperty.cxx
diff --git a/chart2/source/tools/WrappedIgnoreProperty.cxx b/chart2/source/tools/WrappedIgnoreProperty.cxx
index aaa6c545a799..aaa6c545a799 100644..100755
--- a/chart2/source/tools/WrappedIgnoreProperty.cxx
+++ b/chart2/source/tools/WrappedIgnoreProperty.cxx
diff --git a/chart2/source/tools/WrappedProperty.cxx b/chart2/source/tools/WrappedProperty.cxx
index b41d8a331f11..b41d8a331f11 100644..100755
--- a/chart2/source/tools/WrappedProperty.cxx
+++ b/chart2/source/tools/WrappedProperty.cxx
diff --git a/chart2/source/tools/WrappedPropertySet.cxx b/chart2/source/tools/WrappedPropertySet.cxx
index 843aeb261a5f..843aeb261a5f 100644..100755
--- a/chart2/source/tools/WrappedPropertySet.cxx
+++ b/chart2/source/tools/WrappedPropertySet.cxx
diff --git a/chart2/source/tools/XMLRangeHelper.cxx b/chart2/source/tools/XMLRangeHelper.cxx
index c5d345db0124..c5d345db0124 100644..100755
--- a/chart2/source/tools/XMLRangeHelper.cxx
+++ b/chart2/source/tools/XMLRangeHelper.cxx
diff --git a/chart2/source/tools/_serviceregistration_tools.cxx b/chart2/source/tools/_serviceregistration_tools.cxx
index 387b87dfab5a..387b87dfab5a 100644..100755
--- a/chart2/source/tools/_serviceregistration_tools.cxx
+++ b/chart2/source/tools/_serviceregistration_tools.cxx