summaryrefslogtreecommitdiff
path: root/cppu/source/uno
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2021-11-08 21:01:19 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-11-09 08:28:56 +0100
commitb3c6b3a274b4c89d3572010794897c65b26571aa (patch)
tree87493b0306663ac6c818a71df9f83831914e296b /cppu/source/uno
parent926ac3c5e4b8eb425bc2db0366594acc0cf2c1ed (diff)
rtl::Static to thread-safe static
Change-Id: I35e2a252708228bdbeaee557ef35763c64608653 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124884 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'cppu/source/uno')
-rw-r--r--cppu/source/uno/lbenv.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/cppu/source/uno/lbenv.cxx b/cppu/source/uno/lbenv.cxx
index 4af07c9d1944..f19d8e725e4f 100644
--- a/cppu/source/uno/lbenv.cxx
+++ b/cppu/source/uno/lbenv.cxx
@@ -33,7 +33,6 @@
#include <rtl/string.hxx>
#include <rtl/ustring.hxx>
#include <rtl/ustrbuf.hxx>
-#include <rtl/instance.hxx>
#include <typelib/typedescription.h>
#include <uno/dispatcher.h>
#include <uno/environment.h>
@@ -127,7 +126,11 @@ struct EnvironmentsData
bool isDisposing;
};
-struct theEnvironmentsData : public rtl::Static< EnvironmentsData, theEnvironmentsData > {};
+EnvironmentsData& theEnvironmentsData()
+{
+ static EnvironmentsData SINGLETON;
+ return SINGLETON;
+}
struct uno_DefaultEnvironment : public uno_ExtEnvironment
{
@@ -563,7 +566,7 @@ static void defenv_harden(
*ppHardEnv = nullptr;
}
- EnvironmentsData & rData = theEnvironmentsData::get();
+ EnvironmentsData & rData = theEnvironmentsData();
if (rData.isDisposing)
return;
@@ -1110,7 +1113,7 @@ void SAL_CALL uno_getEnvironment(
assert(ppEnv && "### null ptr!");
OUString const & rEnvDcp = OUString::unacquired( &pEnvDcp );
- EnvironmentsData & rData = theEnvironmentsData::get();
+ EnvironmentsData & rData = theEnvironmentsData();
::osl::MutexGuard guard( rData.mutex );
rData.getEnvironment( ppEnv, rEnvDcp, pContext );
@@ -1130,7 +1133,7 @@ void SAL_CALL uno_getRegisteredEnvironments(
rtl_uString * pEnvDcp )
SAL_THROW_EXTERN_C()
{
- EnvironmentsData & rData = theEnvironmentsData::get();
+ EnvironmentsData & rData = theEnvironmentsData();
::osl::MutexGuard guard( rData.mutex );
rData.getRegisteredEnvironments(