summaryrefslogtreecommitdiff
path: root/stoc/source/security/access_controller.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'stoc/source/security/access_controller.cxx')
-rw-r--r--stoc/source/security/access_controller.cxx16
1 files changed, 7 insertions, 9 deletions
diff --git a/stoc/source/security/access_controller.cxx b/stoc/source/security/access_controller.cxx
index 65771de2bd99..06fdc0e4cfbf 100644
--- a/stoc/source/security/access_controller.cxx
+++ b/stoc/source/security/access_controller.cxx
@@ -439,19 +439,17 @@ Reference< security::XPolicy > const & AccessController::getPolicy()
Reference< security::XPolicy > xPolicy;
m_xComponentContext->getValueByName(
"/singletons/com.sun.star.security.thePolicy" ) >>= xPolicy;
- if (xPolicy.is())
- {
- MutexGuard guard( m_mutex );
- if (! m_xPolicy.is())
- {
- m_xPolicy = xPolicy;
- }
- }
- else
+ if (!xPolicy.is())
{
throw SecurityException(
"cannot get policy singleton!", static_cast<OWeakObject *>(this) );
}
+
+ MutexGuard guard( m_mutex );
+ if (! m_xPolicy.is())
+ {
+ m_xPolicy = xPolicy;
+ }
}
return m_xPolicy;
}