Remove VCLExternalSolarLock and IMutex.
Next step is to remove OContextEntryGuard.
Change-Id: I9460fb67fba6f3bfb3c809b730c33f38d225a64e
Reviewed-on: https://gerrit.libreoffice.org/38411
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/accessibility/inc/extended/accessibletabbarbase.hxx b/accessibility/inc/extended/accessibletabbarbase.hxx
index d2d6ab8..8fd28dc 100644
--- a/accessibility/inc/extended/accessibletabbarbase.hxx
+++ b/accessibility/inc/extended/accessibletabbarbase.hxx
@@ -23,10 +23,8 @@
#include <comphelper/accessiblecomponenthelper.hxx>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>
#include <toolkit/helper/externallock.hxx>
class TabBar;
class VCLExternalSolarLock;
class VclSimpleEvent;
class VclWindowEvent;
@@ -34,8 +32,7 @@ class VclWindowEvent;
namespace accessibility
{
class AccessibleTabBarBase : private BaseVCLExternalSolarLock,
public comphelper::OAccessibleExtendedComponentHelper
class AccessibleTabBarBase : public comphelper::OAccessibleExtendedComponentHelper
{
public:
explicit AccessibleTabBarBase( TabBar* pTabBar );
diff --git a/accessibility/inc/pch/precompiled_acc.hxx b/accessibility/inc/pch/precompiled_acc.hxx
index a6a9287..bebb30a 100644
--- a/accessibility/inc/pch/precompiled_acc.hxx
+++ b/accessibility/inc/pch/precompiled_acc.hxx
@@ -303,7 +303,6 @@
#include <toolkit/awt/vclxwindows.hxx>
#include <toolkit/dllapi.h>
#include <toolkit/helper/convert.hxx>
#include <toolkit/helper/externallock.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <tools/color.hxx>
#include <tools/contnr.hxx>
diff --git a/accessibility/inc/standard/accessiblemenubasecomponent.hxx b/accessibility/inc/standard/accessiblemenubasecomponent.hxx
index 96fa054..2447b0d 100644
--- a/accessibility/inc/standard/accessiblemenubasecomponent.hxx
+++ b/accessibility/inc/standard/accessiblemenubasecomponent.hxx
@@ -27,7 +27,6 @@
#include <cppuhelper/implbase2.hxx>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>
#include <toolkit/helper/externallock.hxx>
#include <vector>
@@ -46,8 +45,7 @@ typedef ::cppu::ImplHelper2<
css::accessibility::XAccessible,
css::lang::XServiceInfo > OAccessibleMenuBaseComponent_BASE;
class OAccessibleMenuBaseComponent : private BaseVCLExternalSolarLock,
public comphelper::OAccessibleExtendedComponentHelper,
class OAccessibleMenuBaseComponent : public comphelper::OAccessibleExtendedComponentHelper,
public OAccessibleMenuBaseComponent_BASE
{
friend class OAccessibleMenuItemComponent;
diff --git a/accessibility/inc/standard/vclxaccessiblestatusbaritem.hxx b/accessibility/inc/standard/vclxaccessiblestatusbaritem.hxx
index 163fd66..47cb8ba 100644
--- a/accessibility/inc/standard/vclxaccessiblestatusbaritem.hxx
+++ b/accessibility/inc/standard/vclxaccessiblestatusbaritem.hxx
@@ -25,7 +25,6 @@
#include <comphelper/accessibletexthelper.hxx>
#include <cppuhelper/implbase2.hxx>
#include <vcl/vclptr.hxx>
#include <toolkit/helper/externallock.hxx>
class StatusBar;
@@ -43,8 +42,7 @@ typedef ::cppu::ImplHelper2<
css::accessibility::XAccessible,
css::lang::XServiceInfo > VCLXAccessibleStatusBarItem_BASE;
class VCLXAccessibleStatusBarItem : private BaseVCLExternalSolarLock,
public AccessibleTextHelper_BASE,
class VCLXAccessibleStatusBarItem : public AccessibleTextHelper_BASE,
public VCLXAccessibleStatusBarItem_BASE
{
friend class VCLXAccessibleStatusBar;
diff --git a/accessibility/inc/standard/vclxaccessibletabpage.hxx b/accessibility/inc/standard/vclxaccessibletabpage.hxx
index 830e45d..66a2fbc 100644
--- a/accessibility/inc/standard/vclxaccessibletabpage.hxx
+++ b/accessibility/inc/standard/vclxaccessibletabpage.hxx
@@ -25,7 +25,6 @@
#include <comphelper/accessibletexthelper.hxx>
#include <cppuhelper/implbase2.hxx>
#include <vcl/vclptr.hxx>
#include <toolkit/helper/externallock.hxx>
class TabControl;
@@ -44,8 +43,7 @@ typedef ::cppu::ImplHelper2<
css::accessibility::XAccessible,
css::lang::XServiceInfo > VCLXAccessibleTabPage_BASE;
class VCLXAccessibleTabPage : private BaseVCLExternalSolarLock,
public AccessibleTextHelper_BASE,
class VCLXAccessibleTabPage : public AccessibleTextHelper_BASE,
public VCLXAccessibleTabPage_BASE
{
friend class VCLXAccessibleTabControl;
diff --git a/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx b/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx
index 47bb3c3..fd455b0 100644
--- a/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx
+++ b/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx
@@ -31,7 +31,6 @@
#include <cppuhelper/implbase4.hxx>
#include <comphelper/accessibletexthelper.hxx>
#include <vcl/vclptr.hxx>
#include <toolkit/helper/externallock.hxx>
class ToolBox;
@@ -42,8 +41,7 @@ typedef ::cppu::ImplHelper4 < css::accessibility::XAccessible,
css::accessibility::XAccessibleValue,
css::lang::XServiceInfo > VCLXAccessibleToolBoxItem_BASE;
class VCLXAccessibleToolBoxItem : private BaseVCLExternalSolarLock,
public AccessibleTextHelper_BASE,
class VCLXAccessibleToolBoxItem : public AccessibleTextHelper_BASE,
public VCLXAccessibleToolBoxItem_BASE
{
private:
diff --git a/accessibility/source/extended/AccessibleBrowseBoxBase.cxx b/accessibility/source/extended/AccessibleBrowseBoxBase.cxx
index 5c21f93..f33ab49 100644
--- a/accessibility/source/extended/AccessibleBrowseBoxBase.cxx
+++ b/accessibility/source/extended/AccessibleBrowseBoxBase.cxx
@@ -26,6 +26,7 @@
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
#include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.hpp>
#include <unotools/accessiblerelationsethelper.hxx>
#include <vcl/svapp.hxx>
using ::com::sun::star::uno::Reference;
diff --git a/accessibility/source/extended/accessibletabbarbase.cxx b/accessibility/source/extended/accessibletabbarbase.cxx
index 12f7418..e1cec85 100644
--- a/accessibility/source/extended/accessibletabbarbase.cxx
+++ b/accessibility/source/extended/accessibletabbarbase.cxx
@@ -29,7 +29,6 @@ namespace accessibility
AccessibleTabBarBase::AccessibleTabBarBase( TabBar* pTabBar ) :
OAccessibleExtendedComponentHelper( &m_aLock ),
m_pTabBar( nullptr )
{
SetTabBarPointer( pTabBar );
diff --git a/accessibility/source/extended/textwindowaccessibility.cxx b/accessibility/source/extended/textwindowaccessibility.cxx
index 78cd8f2..3221189 100644
--- a/accessibility/source/extended/textwindowaccessibility.cxx
+++ b/accessibility/source/extended/textwindowaccessibility.cxx
@@ -703,7 +703,7 @@ Document::Document(::VCLXWindow * pVclXWindow, ::TextEngine & rEngine,
css::lang::Locale Document::retrieveLocale()
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
return m_rEngine.GetLocale();
}
@@ -760,7 +760,7 @@ css::awt::Rectangle
Document::retrieveParagraphBounds(Paragraph const * pParagraph,
bool bAbsolute)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
::osl::MutexGuard aInternalGuard(GetMutex());
// If a client holds on to a Paragraph that is no longer visible (as it
@@ -799,7 +799,7 @@ Document::retrieveParagraphBounds(Paragraph const * pParagraph,
OUString
Document::retrieveParagraphText(Paragraph const * pParagraph)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
::osl::MutexGuard aInternalGuard(GetMutex());
return m_rEngine.GetText(static_cast< ::sal_uLong >(pParagraph->getNumber()));
// numeric overflow cannot happen here
@@ -809,7 +809,7 @@ void Document::retrieveParagraphSelection(Paragraph const * pParagraph,
::sal_Int32 * pBegin,
::sal_Int32 * pEnd)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
::osl::MutexGuard aInternalGuard(GetMutex());
::TextSelection const & rSelection = m_rView.GetSelection();
Paragraphs::size_type nNumber = pParagraph->getNumber();
@@ -839,7 +839,7 @@ void Document::retrieveParagraphSelection(Paragraph const * pParagraph,
::sal_Int32 Document::retrieveParagraphCaretPosition(Paragraph const * pParagraph)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
::osl::MutexGuard aInternalGuard(GetMutex());
::TextSelection const & rSelection = m_rView.GetSelection();
Paragraphs::size_type nNumber = pParagraph->getNumber();
@@ -852,7 +852,7 @@ css::awt::Rectangle
Document::retrieveCharacterBounds(Paragraph const * pParagraph,
::sal_Int32 nIndex)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
::osl::MutexGuard aInternalGuard(GetMutex());
::sal_uLong nNumber = static_cast< ::sal_uLong >(pParagraph->getNumber());
sal_Int32 nLength = m_rEngine.GetText(nNumber).getLength();
@@ -898,7 +898,7 @@ Document::retrieveCharacterBounds(Paragraph const * pParagraph,
::sal_Int32 Document::retrieveCharacterIndex(Paragraph const * pParagraph,
css::awt::Point const & rPoint)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
::osl::MutexGuard aInternalGuard(GetMutex());
::sal_uLong nNumber = static_cast< ::sal_uLong >(pParagraph->getNumber());
// XXX numeric overflow
@@ -927,7 +927,7 @@ Document::retrieveCharacterAttributes(
Paragraph const * pParagraph, ::sal_Int32 nIndex,
const css::uno::Sequence< OUString >& aRequestedAttributes)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
vcl::Font aFont = m_rEngine.GetFont();
const sal_Int32 AttributeCount = 9;
@@ -1075,7 +1075,7 @@ Document::retrieveDefaultAttributes(
Paragraph const * pParagraph,
const css::uno::Sequence< OUString >& RequestedAttributes)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard( getExternalLock() );
SolarMutexGuard aGuard;
::osl::MutexGuard aInternalGuard( GetMutex() );
tPropValMap aDefAttrSeq;
@@ -1141,7 +1141,7 @@ Document::retrieveRunAttributes(
Paragraph const * pParagraph, ::sal_Int32 Index,
const css::uno::Sequence< OUString >& RequestedAttributes)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard( getExternalLock() );
SolarMutexGuard aGuard;
::osl::MutexGuard aInternalGuard( GetMutex() );
::sal_uLong nNumber = static_cast< ::sal_uLong >( pParagraph->getNumber() );
// XXX numeric overflow
@@ -1159,7 +1159,7 @@ Document::retrieveRunAttributes(
void Document::changeParagraphText(Paragraph * pParagraph,
OUString const & rText)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
{
::osl::MutexGuard aInternalGuard(GetMutex());
::sal_uLong nNumber = static_cast< ::sal_uLong >(pParagraph->getNumber());
@@ -1174,7 +1174,7 @@ void Document::changeParagraphText(Paragraph * pParagraph,
bool bCut, bool bPaste,
OUString const & rText)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
{
::osl::MutexGuard aInternalGuard(GetMutex());
::sal_uLong nNumber = static_cast< ::sal_uLong >(pParagraph->getNumber());
@@ -1194,7 +1194,7 @@ void Document::changeParagraphText(Paragraph * pParagraph,
void Document::copyParagraphText(Paragraph const * pParagraph,
::sal_Int32 nBegin, ::sal_Int32 nEnd)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
{
::osl::MutexGuard aInternalGuard(GetMutex());
::sal_uLong nNumber = static_cast< ::sal_uLong >(pParagraph->getNumber());
@@ -1217,7 +1217,7 @@ void Document::changeParagraphAttributes(
Paragraph * pParagraph, ::sal_Int32 nBegin, ::sal_Int32 nEnd,
css::uno::Sequence< css::beans::PropertyValue > const & rAttributeSet)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
{
::osl::MutexGuard aInternalGuard(GetMutex());
::sal_uLong nNumber = static_cast< ::sal_uLong >(pParagraph->getNumber());
@@ -1249,7 +1249,7 @@ void Document::changeParagraphAttributes(
void Document::changeParagraphSelection(Paragraph * pParagraph,
::sal_Int32 nBegin, ::sal_Int32 nEnd)
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
{
::osl::MutexGuard aInternalGuard(GetMutex());
::sal_uLong nNumber = static_cast< ::sal_uLong >(pParagraph->getNumber());
@@ -1275,7 +1275,7 @@ Document::retrieveParagraphLineBoundary( Paragraph const * pParagraph,
aBoundary.startPos = nIndex;
aBoundary.endPos = nIndex;
::osl::Guard< ::comphelper::IMutex > aExternalGuard( getExternalLock() );
SolarMutexGuard aGuard;
{
::osl::MutexGuard aInternalGuard( GetMutex() );
::sal_uLong nNumber = static_cast< ::sal_uLong >( pParagraph->getNumber() );
@@ -1313,7 +1313,7 @@ Document::retrieveParagraphBoundaryOfLine( Paragraph const * pParagraph,
aBoundary.startPos = 0;
aBoundary.endPos = 0;
::osl::Guard< ::comphelper::IMutex > aExternalGuard( getExternalLock() );
SolarMutexGuard aGuard;
{
::osl::MutexGuard aInternalGuard( GetMutex() );
::sal_uLong nNumber = static_cast< ::sal_uLong >( pParagraph->getNumber() );
@@ -1339,7 +1339,7 @@ Document::retrieveParagraphBoundaryOfLine( Paragraph const * pParagraph,
sal_Int32 Document::retrieveParagraphLineWithCursor( Paragraph const * pParagraph )
{
::osl::Guard< ::comphelper::IMutex > aExternalGuard(getExternalLock());
SolarMutexGuard aGuard;
::osl::MutexGuard aInternalGuard(GetMutex());
::TextSelection const & rSelection = m_rView.GetSelection();
Paragraphs::size_type nNumber = pParagraph->getNumber();
diff --git a/accessibility/source/standard/accessiblemenubasecomponent.cxx b/accessibility/source/standard/accessiblemenubasecomponent.cxx
index b3ee388..5aae312 100644
--- a/accessibility/source/standard/accessiblemenubasecomponent.cxx
+++ b/accessibility/source/standard/accessiblemenubasecomponent.cxx
@@ -43,8 +43,7 @@ using namespace ::comphelper;
OAccessibleMenuBaseComponent::OAccessibleMenuBaseComponent( Menu* pMenu )
:OAccessibleExtendedComponentHelper( &m_aLock )
,m_pMenu( pMenu )
:m_pMenu( pMenu )
,m_bEnabled( false )
,m_bFocused( false )
,m_bVisible( false )
diff --git a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
index 3a50c75..0b462f7 100644
--- a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
+++ b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
@@ -48,8 +48,7 @@ using namespace ::comphelper;
VCLXAccessibleStatusBarItem::VCLXAccessibleStatusBarItem( StatusBar* pStatusBar, sal_uInt16 nItemId )
:AccessibleTextHelper_BASE( &m_aLock )
,m_pStatusBar( pStatusBar )
:m_pStatusBar( pStatusBar )
,m_nItemId( nItemId )
{
diff --git a/accessibility/source/standard/vclxaccessibletabpage.cxx b/accessibility/source/standard/vclxaccessibletabpage.cxx
index 954b471..8fc4030 100644
--- a/accessibility/source/standard/vclxaccessibletabpage.cxx
+++ b/accessibility/source/standard/vclxaccessibletabpage.cxx
@@ -48,8 +48,7 @@ using namespace ::comphelper;
VCLXAccessibleTabPage::VCLXAccessibleTabPage( TabControl* pTabControl, sal_uInt16 nPageId )
:AccessibleTextHelper_BASE( &m_aLock )
,m_pTabControl( pTabControl )
:m_pTabControl( pTabControl )
,m_nPageId( nPageId )
{
m_bFocused = IsFocused();
diff --git a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
index 93e2c82..325db82 100644
--- a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
+++ b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
@@ -59,8 +59,6 @@ using namespace ::comphelper;
// Ctor() and Dtor()
VCLXAccessibleToolBoxItem::VCLXAccessibleToolBoxItem( ToolBox* _pToolBox, sal_Int32 _nPos ) :
AccessibleTextHelper_BASE( &m_aLock ),
m_pToolBox ( _pToolBox ),
m_nIndexInParent( _nPos ),
m_nRole ( AccessibleRole::PUSH_BUTTON ),
diff --git a/basctl/source/accessibility/accessibledialogcontrolshape.cxx b/basctl/source/accessibility/accessibledialogcontrolshape.cxx
index 9a69d2d..5502cde 100644
--- a/basctl/source/accessibility/accessibledialogcontrolshape.cxx
+++ b/basctl/source/accessibility/accessibledialogcontrolshape.cxx
@@ -50,8 +50,7 @@ using namespace ::comphelper;
AccessibleDialogControlShape::AccessibleDialogControlShape (DialogWindow* pDialogWindow, DlgEdObj* pDlgEdObj)
:OAccessibleExtendedComponentHelper( &m_aLock )
,m_pDialogWindow( pDialogWindow )
:m_pDialogWindow( pDialogWindow )
,m_pDlgEdObj( pDlgEdObj )
{
if ( m_pDlgEdObj )
diff --git a/basctl/source/accessibility/accessibledialogwindow.cxx b/basctl/source/accessibility/accessibledialogwindow.cxx
index 1cedd99..6d30646 100644
--- a/basctl/source/accessibility/accessibledialogwindow.cxx
+++ b/basctl/source/accessibility/accessibledialogwindow.cxx
@@ -99,8 +99,7 @@ bool AccessibleDialogWindow::ChildDescriptor::operator<( const ChildDescriptor&
AccessibleDialogWindow::AccessibleDialogWindow (basctl::DialogWindow* pDialogWindow)
: OAccessibleExtendedComponentHelper( &m_aLock)
, m_pDialogWindow(pDialogWindow)
: m_pDialogWindow(pDialogWindow)
, m_pDlgEditor(nullptr)
, m_pDlgEdModel(nullptr)
{
diff --git a/basctl/source/inc/accessibledialogcontrolshape.hxx b/basctl/source/inc/accessibledialogcontrolshape.hxx
index aba1a83e..4830032 100644
--- a/basctl/source/inc/accessibledialogcontrolshape.hxx
+++ b/basctl/source/inc/accessibledialogcontrolshape.hxx
@@ -25,7 +25,6 @@
#include <comphelper/accessiblecomponenthelper.hxx>
#include <cppuhelper/implbase3.hxx>
#include <vcl/vclptr.hxx>
#include <toolkit/helper/externallock.hxx>
namespace vcl { class Window; }
@@ -47,8 +46,7 @@ typedef ::cppu::ImplHelper3<
css::lang::XServiceInfo,
css::beans::XPropertyChangeListener > AccessibleDialogControlShape_BASE;
class AccessibleDialogControlShape : private BaseVCLExternalSolarLock,
public comphelper::OAccessibleExtendedComponentHelper,
class AccessibleDialogControlShape : public comphelper::OAccessibleExtendedComponentHelper,
public AccessibleDialogControlShape_BASE
{
friend class AccessibleDialogWindow;
diff --git a/basctl/source/inc/accessibledialogwindow.hxx b/basctl/source/inc/accessibledialogwindow.hxx
index 2524e42..badcabda 100644
--- a/basctl/source/inc/accessibledialogwindow.hxx
+++ b/basctl/source/inc/accessibledialogwindow.hxx
@@ -27,7 +27,6 @@
#include <svl/lstner.hxx>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>
#include <toolkit/helper/externallock.hxx>
class VclSimpleEvent;
class VclWindowEvent;
@@ -52,8 +51,7 @@ typedef ::cppu::ImplHelper3 <
css::accessibility::XAccessibleSelection,
css::lang::XServiceInfo > AccessibleDialogWindow_BASE;
class AccessibleDialogWindow : private BaseVCLExternalSolarLock,
public comphelper::OAccessibleExtendedComponentHelper,
class AccessibleDialogWindow : public comphelper::OAccessibleExtendedComponentHelper,
public AccessibleDialogWindow_BASE,
public SfxListener
{
diff --git a/comphelper/source/misc/accessiblecomponenthelper.cxx b/comphelper/source/misc/accessiblecomponenthelper.cxx
index a5211d6..ab01665 100644
--- a/comphelper/source/misc/accessiblecomponenthelper.cxx
+++ b/comphelper/source/misc/accessiblecomponenthelper.cxx
@@ -29,8 +29,7 @@ namespace comphelper
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::accessibility;
OCommonAccessibleComponent::OCommonAccessibleComponent( IMutex* _pExternalLock )
:OAccessibleContextHelper( _pExternalLock )
OCommonAccessibleComponent::OCommonAccessibleComponent( )
{
}
@@ -93,8 +92,7 @@ namespace comphelper
return implGetBounds();
}
OAccessibleComponentHelper::OAccessibleComponentHelper( IMutex* _pExternalLock )
:OCommonAccessibleComponent( _pExternalLock )
OAccessibleComponentHelper::OAccessibleComponentHelper( )
{
}
@@ -133,8 +131,7 @@ namespace comphelper
return OCommonAccessibleComponent::getBounds( );
}
OAccessibleExtendedComponentHelper::OAccessibleExtendedComponentHelper( IMutex* _pExternalLock )
:OCommonAccessibleComponent( _pExternalLock )
OAccessibleExtendedComponentHelper::OAccessibleExtendedComponentHelper( )
{
}
diff --git a/comphelper/source/misc/accessiblecontexthelper.cxx b/comphelper/source/misc/accessiblecontexthelper.cxx
index f03598d..df837e2 100644
--- a/comphelper/source/misc/accessiblecontexthelper.cxx
+++ b/comphelper/source/misc/accessiblecontexthelper.cxx
@@ -24,25 +24,20 @@
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
#include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.hpp>
#include <comphelper/accessibleeventnotifier.hxx>
#include <comphelper/solarmutex.hxx>
namespace comphelper
{
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::accessibility;
IMutex::~IMutex() {}
/** implementation class for OAccessibleContextHelper. No own thread safety!
*/
class OContextHelper_Impl
{
private:
IMutex* m_pExternalLock; // the optional additional external lock
WeakReference< XAccessible > m_aCreator; // the XAccessible which created our XAccessibleContext
AccessibleEventNotifier::TClientId m_nClientId;
@@ -51,9 +46,6 @@ namespace comphelper
Reference< XAccessible > getCreator( ) const { return m_aCreator; }
inline void setCreator( const Reference< XAccessible >& _rAcc );
IMutex* getExternalLock( ) { return m_pExternalLock; }
void setExternalLock( IMutex* _pLock ) { m_pExternalLock = _pLock; }
AccessibleEventNotifier::TClientId
getClientId() const { return m_nClientId; }
void setClientId( const AccessibleEventNotifier::TClientId _nId )
@@ -61,8 +53,7 @@ namespace comphelper
public:
OContextHelper_Impl()
:m_pExternalLock( nullptr )
,m_nClientId( 0 )
:m_nClientId( 0 )
{
}
};
@@ -73,26 +64,15 @@ namespace comphelper
m_aCreator = _rAcc;
}
OAccessibleContextHelper::OAccessibleContextHelper( IMutex* _pExternalLock )
OAccessibleContextHelper::OAccessibleContextHelper( )
:OAccessibleContextHelper_Base( GetMutex() )
,m_pImpl(new OContextHelper_Impl)
{
assert(_pExternalLock);
m_pImpl->setExternalLock( _pExternalLock );
}
OAccessibleContextHelper::~OAccessibleContextHelper( )
{
/* forgets the reference to the external lock, if present.
<p>This means any further locking will not be guard the external lock anymore, never.</p>
<p>To be used in derived classes which do not supply the external lock themself, but instead get
them passed from own derivees (or clients).</p>
*/
m_pImpl->setExternalLock( nullptr );
// this ensures that the lock, which may be already destroyed as part of the derivee,
// is not used anymore
@@ -100,17 +80,11 @@ namespace comphelper
}
IMutex* OAccessibleContextHelper::getExternalLock( )
{
return m_pImpl->getExternalLock();
}
void SAL_CALL OAccessibleContextHelper::disposing()
{
// rhbz#1001768: de facto this class is locked by SolarMutex;
// do not lock m_Mutex because it may cause deadlock
OMutexGuard aGuard( getExternalLock() );
osl::Guard<SolarMutex> aGuard(SolarMutex::get());
if ( m_pImpl->getClientId( ) )
{
@@ -122,7 +96,7 @@ namespace comphelper
void SAL_CALL OAccessibleContextHelper::addAccessibleEventListener( const Reference< XAccessibleEventListener >& _rxListener )
{
OMutexGuard aGuard( getExternalLock() );
osl::Guard<SolarMutex> aGuard(SolarMutex::get());
// don't use the OContextEntryGuard - it will throw an exception if we're not alive
// anymore, while the most recent specification for XComponent states that we should
// silently ignore the call in such a situation
@@ -145,7 +119,7 @@ namespace comphelper
void SAL_CALL OAccessibleContextHelper::removeAccessibleEventListener( const Reference< XAccessibleEventListener >& _rxListener )
{
OMutexGuard aGuard( getExternalLock() );
osl::Guard<SolarMutex> aGuard(SolarMutex::get());
// don't use the OContextEntryGuard - it will throw an exception if we're not alive
// anymore, while the most recent specification for XComponent states that we should
// silently ignore the call in such a situation
diff --git a/comphelper/source/misc/accessibleselectionhelper.cxx b/comphelper/source/misc/accessibleselectionhelper.cxx
index fe5f47b..c190792 100644
--- a/comphelper/source/misc/accessibleselectionhelper.cxx
+++ b/comphelper/source/misc/accessibleselectionhelper.cxx
@@ -101,7 +101,7 @@ namespace comphelper
implSelect( nSelectedChildIndex, false );
}
OAccessibleSelectionHelper::OAccessibleSelectionHelper( IMutex* _pExternalLock ) : OAccessibleComponentHelper(_pExternalLock)
OAccessibleSelectionHelper::OAccessibleSelectionHelper()
{
}
diff --git a/comphelper/source/misc/accessibletexthelper.cxx b/comphelper/source/misc/accessibletexthelper.cxx
index 13ab75e..99f095b 100644
--- a/comphelper/source/misc/accessibletexthelper.cxx
+++ b/comphelper/source/misc/accessibletexthelper.cxx
@@ -752,8 +752,7 @@ namespace comphelper
// OAccessibleTextHelper
OAccessibleTextHelper::OAccessibleTextHelper( IMutex* _pExternalLock )
:OAccessibleExtendedComponentHelper( _pExternalLock )
OAccessibleTextHelper::OAccessibleTextHelper( )
{
}
diff --git a/include/comphelper/accessiblecomponenthelper.hxx b/include/comphelper/accessiblecomponenthelper.hxx
index 42a886a..e7ac2fa 100644
--- a/include/comphelper/accessiblecomponenthelper.hxx
+++ b/include/comphelper/accessiblecomponenthelper.hxx
@@ -41,7 +41,7 @@ namespace comphelper
{
protected:
/// see the respective base class ctor for an extensive comment on this, please
OCommonAccessibleComponent( IMutex* _pExternalLock );
OCommonAccessibleComponent();
virtual ~OCommonAccessibleComponent() override;
protected:
@@ -87,8 +87,7 @@ namespace comphelper
,public OAccessibleComponentHelper_Base
{
protected:
/// see the respective base class ctor for an extensive comment on this, please
OAccessibleComponentHelper( IMutex* _pExternalLock );
OAccessibleComponentHelper();
public:
// XInterface
@@ -118,8 +117,7 @@ namespace comphelper
,public OAccessibleExtendedComponentHelper_Base
{
protected:
/// see the respective base class ctor for an extensive comment on this, please
OAccessibleExtendedComponentHelper( IMutex* _pExternalLock );
OAccessibleExtendedComponentHelper( );
public:
// XInterface
diff --git a/include/comphelper/accessiblecontexthelper.hxx b/include/comphelper/accessiblecontexthelper.hxx
index 7163817..1cc27da 100644
--- a/include/comphelper/accessiblecontexthelper.hxx
+++ b/include/comphelper/accessiblecontexthelper.hxx
@@ -26,6 +26,7 @@
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
#include <comphelper/comphelperdllapi.h>
#include <comphelper/solarmutex.hxx>
#include <memory>
@@ -33,45 +34,6 @@ namespace comphelper
{
//= IMutex
// This whole thingie here (own mutex classes and such) is a HACK. I hate the SolarMutex.
// See below for more explanations ....
/** abstract interface for implementing a mutex
*/
class COMPHELPER_DLLPUBLIC IMutex
{
public:
virtual ~IMutex();
virtual void acquire() = 0;
virtual void release() = 0;
};
//= OMutexGuard
class OMutexGuard
{
IMutex* m_pMutex;
public:
OMutexGuard( IMutex* _pMutex )
:m_pMutex( _pMutex )
{
if ( m_pMutex )
m_pMutex->acquire();
}
~OMutexGuard( )
{
if ( m_pMutex )
m_pMutex->release();
}
};
//= OAccessibleContextHelper
@@ -92,33 +54,7 @@ namespace comphelper
protected:
virtual ~OAccessibleContextHelper( ) override;
/** ctor
<p>If you need additional object safety for your class, and want to ensure that your own
mutex is locked before the mutex this class provides is, than use this ctor.</p>
<p>Beware that this is a hack. Unfortunately, OpenOffice.org has two different mutex hierarchies,
which are not compatible. In addition, wide parts of the code (especially VCL) is not thread-safe,
but instead relies on a <em>single global mutex</em>. As a consequence, components using
directly or indirectly such code need to care for this global mutex. Yes, this is as ugly as
anything.</p>
<p>Note that the external lock is used as additional lock, not as the only one. The own mutex of the
instance is used for internal actions, and every action which potentially involves external code
(for instance every call to a virtual method overridden by derivees) is <em>additionally</em> and
<em>first</em> guarded by with the external lock.</p>
<p>Beware of the lifetime of the lock - you must ensure that the lock exists at least as long as
the context does. A good approach to implement the lock may be to derive you own context
not only from OAccessibleContextHelper, but also from IMutex.</p>
<p>One more note. This lock is definitely not used once the dtor is reached. Means whatever
the dtor implementation does, it does <em>not</em> guard the external lock. See this as a contract.
<br/>You should ensure the same thing for own derivees which do not supply the lock themself,
but get them from yet another derivee.</p>
@see forgetExternalLock
*/
OAccessibleContextHelper( IMutex* _pExternalLock );
OAccessibleContextHelper( );
/** late construction
@param _rxAccessible
@@ -180,7 +116,6 @@ namespace comphelper
// ensures that the object is alive
inline void ensureAlive( const OAccessControl& ) const;
inline IMutex* getExternalLock( const OAccessControl& );
inline ::osl::Mutex& GetMutex( const OAccessControl& );
protected:
@@ -224,7 +159,6 @@ namespace comphelper
// access to the base class' broadcast helper/mutex
::osl::Mutex& GetMutex() { return m_aMutex; }
IMutex* getExternalLock( );
};
@@ -234,12 +168,6 @@ namespace comphelper
}
inline IMutex* OAccessibleContextHelper::getExternalLock( const OAccessControl& )
{
return getExternalLock();
}
inline ::osl::Mutex& OAccessibleContextHelper::GetMutex( const OAccessControl& )
{
return GetMutex();
@@ -287,7 +215,7 @@ namespace comphelper
//= OExternalLockGuard
class OExternalLockGuard
:public OMutexGuard
:public osl::Guard<SolarMutex>
,public OContextEntryGuard
{
public:
@@ -296,7 +224,7 @@ namespace comphelper
inline OExternalLockGuard::OExternalLockGuard( OAccessibleContextHelper* _pContext )
:OMutexGuard( _pContext->getExternalLock( OAccessibleContextHelper::OAccessControl() ) )
:osl::Guard<SolarMutex>( SolarMutex::get() )
,OContextEntryGuard( _pContext )
{
// Only lock the external mutex,
diff --git a/include/comphelper/accessibleselectionhelper.hxx b/include/comphelper/accessibleselectionhelper.hxx
index 0a67e48..d96347f 100644
--- a/include/comphelper/accessibleselectionhelper.hxx
+++ b/include/comphelper/accessibleselectionhelper.hxx
@@ -104,8 +104,7 @@ namespace comphelper
{
protected:
/// see the respective base class ctor for an extensive comment on this, please
OAccessibleSelectionHelper( IMutex* _pExternalLock );
OAccessibleSelectionHelper();
// return ourself here by default
virtual css::uno::Reference< css::accessibility::XAccessibleContext > implGetAccessibleContext() override;
diff --git a/include/comphelper/accessibletexthelper.hxx b/include/comphelper/accessibletexthelper.hxx
index 8083ba6..7b5e1a1 100644
--- a/include/comphelper/accessibletexthelper.hxx
+++ b/include/comphelper/accessibletexthelper.hxx
@@ -128,8 +128,7 @@ namespace comphelper
public OAccessibleTextHelper_Base
{
protected:
// see the respective base class ctor for an extensive comment on this, please
OAccessibleTextHelper( IMutex* _pExternalLock );
OAccessibleTextHelper();
public:
// XInterface
diff --git a/include/toolkit/awt/vclxaccessiblecomponent.hxx b/include/toolkit/awt/vclxaccessiblecomponent.hxx
index e295201..f37c95c 100644
--- a/include/toolkit/awt/vclxaccessiblecomponent.hxx
+++ b/include/toolkit/awt/vclxaccessiblecomponent.hxx
@@ -30,7 +30,6 @@
#include <cppuhelper/implbase1.hxx>
#include <comphelper/accimplaccess.hxx>
#include <comphelper/accessiblecomponenthelper.hxx>
#include <toolkit/helper/externallock.hxx>
#include <tools/link.hxx>
@@ -53,8 +52,7 @@ typedef ::cppu::ImplHelper1<
css::lang::XServiceInfo > VCLXAccessibleComponent_BASE;
class TOOLKIT_DLLPUBLIC VCLXAccessibleComponent
:private BaseVCLExternalSolarLock
,public comphelper::OAccessibleExtendedComponentHelper
:public comphelper::OAccessibleExtendedComponentHelper
,public ::comphelper::OAccessibleImplementationAccess
,public VCLXAccessibleComponent_BASE
{
diff --git a/include/toolkit/controls/accessiblecontrolcontext.hxx b/include/toolkit/controls/accessiblecontrolcontext.hxx
index 7642433..cbd304a 100644
--- a/include/toolkit/controls/accessiblecontrolcontext.hxx
+++ b/include/toolkit/controls/accessiblecontrolcontext.hxx
@@ -27,7 +27,6 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/awt/XWindow.hpp>
#include <vcl/vclptr.hxx>
#include <toolkit/helper/externallock.hxx>
namespace vcl { class Window; }
@@ -49,8 +48,7 @@ namespace toolkit
is being disposed.</p>
*/
class OAccessibleControlContext
:private BaseVCLExternalSolarLock
,public ::comphelper::OAccessibleImplementationAccess
:public ::comphelper::OAccessibleImplementationAccess
,public OAccessibleControlContext_Base
,public OAccessibleControlContext_IBase
{
diff --git a/include/toolkit/helper/externallock.hxx b/include/toolkit/helper/externallock.hxx
deleted file mode 100644
index ddac625..0000000
--- a/include/toolkit/helper/externallock.hxx
+++ /dev/null
@@ -1,44 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_TOOLKIT_HELPER_EXTERNALLOCK_HXX
#define INCLUDED_TOOLKIT_HELPER_EXTERNALLOCK_HXX
#include <toolkit/dllapi.h>
#include <comphelper/accessiblecontexthelper.hxx>
// class VCLExternalSolarLock
class TOOLKIT_DLLPUBLIC VCLExternalSolarLock : public ::comphelper::IMutex
{
public:
virtual void acquire() override;
virtual void release() override;
};
class BaseVCLExternalSolarLock
{
protected:
mutable VCLExternalSolarLock m_aLock;
};
#endif // INCLUDED_TOOLKIT_HELPER_EXTERNALLOCK_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svtools/inc/vclxaccessibleheaderbaritem.hxx b/svtools/inc/vclxaccessibleheaderbaritem.hxx
index ac3c30c..03701de 100644
--- a/svtools/inc/vclxaccessibleheaderbaritem.hxx
+++ b/svtools/inc/vclxaccessibleheaderbaritem.hxx
@@ -26,8 +26,6 @@
#include <tools/link.hxx>
#include <toolkit/helper/externallock.hxx>
#include <vcl/vclptr.hxx>
#include <vector>
@@ -49,9 +47,8 @@ typedef ::cppu::ImplHelper2<
css::accessibility::XAccessible,
css::lang::XServiceInfo > VCLXAccessibleHeaderBarItem_BASE;
class VCLXAccessibleHeaderBarItem : private BaseVCLExternalSolarLock,
public comphelper::OAccessibleExtendedComponentHelper,
public VCLXAccessibleHeaderBarItem_BASE
class VCLXAccessibleHeaderBarItem : public comphelper::OAccessibleExtendedComponentHelper,
public VCLXAccessibleHeaderBarItem_BASE
{
private:
VclPtr<HeaderBar> m_pHeadBar;
diff --git a/svtools/source/control/vclxaccessibleheaderbaritem.cxx b/svtools/source/control/vclxaccessibleheaderbaritem.cxx
index 2d6c7fa..2e7bad0 100644
--- a/svtools/source/control/vclxaccessibleheaderbaritem.cxx
+++ b/svtools/source/control/vclxaccessibleheaderbaritem.cxx
@@ -31,7 +31,6 @@
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
#include <toolkit/awt/vclxfont.hxx>
#include <toolkit/helper/externallock.hxx>
#include <toolkit/helper/convert.hxx>
#include <vector>
@@ -47,8 +46,7 @@ using namespace ::comphelper;
VCLXAccessibleHeaderBarItem::VCLXAccessibleHeaderBarItem( HeaderBar* pHeadBar, sal_Int32 _nIndexInParent )
:OAccessibleExtendedComponentHelper( &m_aLock )
,m_pHeadBar( pHeadBar )
:m_pHeadBar( pHeadBar )
,m_nIndexInParent(_nIndexInParent + 1)
{
diff --git a/svx/source/accessibility/charmapacc.cxx b/svx/source/accessibility/charmapacc.cxx
index dc6c6d4..e34c586 100644
--- a/svx/source/accessibility/charmapacc.cxx
+++ b/svx/source/accessibility/charmapacc.cxx
@@ -41,8 +41,7 @@ namespace svx
using namespace ::com::sun::star::accessibility;
SvxShowCharSetVirtualAcc::SvxShowCharSetVirtualAcc( SvxShowCharSet* pParent ) : OAccessibleComponentHelper(&m_aLock)
,mpParent( pParent )
SvxShowCharSetVirtualAcc::SvxShowCharSetVirtualAcc( SvxShowCharSet* pParent ) : mpParent( pParent )
{
osl_atomic_increment(&m_refCount);
{
@@ -253,8 +252,7 @@ uno::Reference< css::accessibility::XAccessible > SvxShowCharSetItem::GetAccessi
SvxShowCharSetAcc::SvxShowCharSetAcc( SvxShowCharSetVirtualAcc* _pParent ) : OAccessibleSelectionHelper(&m_aLock)
,m_pParent( _pParent )
SvxShowCharSetAcc::SvxShowCharSetAcc( SvxShowCharSetVirtualAcc* _pParent ) : m_pParent( _pParent )
{
osl_atomic_increment(&m_refCount);
{
@@ -558,8 +556,7 @@ sal_Int32 SAL_CALL SvxShowCharSetAcc::getAccessibleColumn( sal_Int32 nChildIndex
}
SvxShowCharSetItemAcc::SvxShowCharSetItemAcc( SvxShowCharSetItem* pParent ) : OAccessibleComponentHelper(&m_aLock)
,mpParent( pParent )
SvxShowCharSetItemAcc::SvxShowCharSetItemAcc( SvxShowCharSetItem* pParent ) : mpParent( pParent )
{
OSL_ENSURE(pParent,"NO parent supplied!");
osl_atomic_increment(&m_refCount);
diff --git a/svx/source/inc/charmapacc.hxx b/svx/source/inc/charmapacc.hxx
index 83cd41d..6783b55 100644
--- a/svx/source/inc/charmapacc.hxx
+++ b/svx/source/inc/charmapacc.hxx
@@ -25,7 +25,6 @@
#include <comphelper/accessibleselectionhelper.hxx>
#include <com/sun/star/accessibility/XAccessibleAction.hpp>
#include <com/sun/star/accessibility/XAccessibleTable.hpp>
#include <toolkit/helper/externallock.hxx>
#include <vector>
class SvxShowCharSet;
@@ -39,8 +38,7 @@ namespace svx
/** The class SvxShowCharSetVirtualAcc is used as a virtual class which contains the table and the scrollbar.
In the vcl control, the table and the scrollbar exists in one class. This is not feasible for the accessibility api.
*/
class SvxShowCharSetVirtualAcc : private BaseVCLExternalSolarLock,
public ::comphelper::OAccessibleComponentHelper,
class SvxShowCharSetVirtualAcc : public ::comphelper::OAccessibleComponentHelper,
public OAccessibleHelper_Base_2
{
VclPtr<SvxShowCharSet> mpParent; // the vcl control
@@ -122,8 +120,7 @@ namespace svx
/** The table implementation of the vcl control.
*/
class SvxShowCharSetAcc : private BaseVCLExternalSolarLock,
public ::comphelper::OAccessibleSelectionHelper,
class SvxShowCharSetAcc : public ::comphelper::OAccessibleSelectionHelper,
public OAccessibleHelper_Base
{
::std::vector< css::uno::Reference< css::accessibility::XAccessible > > m_aChildren;
@@ -212,8 +209,7 @@ namespace svx
/** The child implementation of the table.
*/
class SvxShowCharSetItemAcc : private BaseVCLExternalSolarLock,
public ::comphelper::OAccessibleComponentHelper,
class SvxShowCharSetItemAcc : public ::comphelper::OAccessibleComponentHelper,
public OAccessibleHelper_Base_3
{
private:
diff --git a/toolkit/Library_tk.mk b/toolkit/Library_tk.mk
index 3aea706..94e08a8 100644
--- a/toolkit/Library_tk.mk
+++ b/toolkit/Library_tk.mk
@@ -109,7 +109,6 @@ $(eval $(call gb_Library_add_exception_objects,tk,\
toolkit/source/controls/unocontrolmodel \
toolkit/source/controls/unocontrols \
toolkit/source/helper/accessibilityclient \
toolkit/source/helper/externallock \
toolkit/source/helper/formpdfexport \
toolkit/source/helper/imagealign \
toolkit/source/helper/listenermultiplexer \
diff --git a/toolkit/source/awt/vclxaccessiblecomponent.cxx b/toolkit/source/awt/vclxaccessiblecomponent.cxx
index ae971fa..40a40d2 100644
--- a/toolkit/source/awt/vclxaccessiblecomponent.cxx
+++ b/toolkit/source/awt/vclxaccessiblecomponent.cxx
@@ -43,8 +43,6 @@ using namespace ::com::sun::star;
using namespace ::comphelper;
VCLXAccessibleComponent::VCLXAccessibleComponent( VCLXWindow* pVCLXWindow )
: OAccessibleExtendedComponentHelper( &m_aLock )
, OAccessibleImplementationAccess( )
{
m_xVCLXWindow = pVCLXWindow;
diff --git a/toolkit/source/controls/accessiblecontrolcontext.cxx b/toolkit/source/controls/accessiblecontrolcontext.cxx
index 155cf83d..bd9d729 100644
--- a/toolkit/source/controls/accessiblecontrolcontext.cxx
+++ b/toolkit/source/controls/accessiblecontrolcontext.cxx
@@ -45,7 +45,6 @@ namespace toolkit
OAccessibleControlContext::OAccessibleControlContext()
: OAccessibleControlContext_Base(&m_aLock)
{
// nothing to do here, we have a late ctor
}
diff --git a/toolkit/source/helper/externallock.cxx b/toolkit/source/helper/externallock.cxx
deleted file mode 100644
index 4e4e5e9..0000000
--- a/toolkit/source/helper/externallock.cxx
+++ /dev/null
@@ -1,37 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <toolkit/helper/externallock.hxx>
#include <osl/mutex.hxx>
#include <vcl/svapp.hxx>
// class VCLExternalSolarLock
void VCLExternalSolarLock::acquire()
{
Application::GetSolarMutex().acquire();
}
void VCLExternalSolarLock::release()
{
Application::GetSolarMutex().release();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */