diff options
Diffstat (limited to 'stoc/source/security/access_controller.cxx')
-rw-r--r-- | stoc/source/security/access_controller.cxx | 16 |
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; } |